网络编程--Socket

网络编程: 实现计算机与计算机之间的通信。

通讯协议

tcp:可靠,有状态的,长连接的协议,像打电话一样的

udp:不可靠,无连接,像发短信一样,发送的包的顺序要有编码

http:基于tcp的协议,无状态的协议

ftp:文件传输协议

pop3:邮件协议版本3,是tcp/Ip协议族中的一员

smtp:简单邮件传输协议

网络的七层协议

应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

网络根据地域分为三类:

局域网,城域网(几十公里),广域网(www)

IP地址是有4个8位组成,每个数字不能大于255

IP地址分类(五类)

A:1.0.0.0~126.255.255.255         (127.0.0.1,localhost是本地回环地址)

B:128.0.0.0~191.255.255.255

C:192.0.0.0~223.255.255.255

D:用于组播

E:。。。

服务器端

import sys
import socket
        #创建 socket 对象
seversockt=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 #获取本地主机名
host=socket.gethostname()

port=9999

#绑定端口号
seversockt.bind(("127.0.0.1",7777))
seversockt.listen(5)
#建立客户端连接
while True:
    clientsocket,addr=seversockt.accept()
    print("已接收客户端")
    print("链接地址{0}".format(str(addr)))
    msg="欢迎访问北大青鸟"+"\r\n"
    clientsocket.send((msg.encode("utf-8")))
    clientsocket.close()
    print("服务器已启动")

客户端

import socket
import sys
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host=socket.gethostname()
port=9999
s.connect(("192.168.0.117",8888))
msg=s.recv(1024)
s.send("再见".encode("utf-8"))
s.close()
print(msg.decode("utf-8"))

猜你喜欢

转载自blog.csdn.net/qq_41655148/article/details/79528525