1128-Python网络编程
-
socket(套接字)编程:用代码来实现网络通信的两个端;套接字就是实现通信的两个程序
1)两个端:服务器和客户端
2)Python通过socket模块提供socket编程相关的类和方法;其中socket类对应的就是套接字对应的类
-
服务器端的实现:
1)创建服务器套接字对象:server = socket(family, type)
a. family:设置IP类型;默认AF_INET对应IPV4,AF_INET6对应IPV6
b. type:设置传送类型;默认SOCK_STREAM对应TCP协议;SOCK_DGRAM对应UDP协议
2)绑定ip和端口:server.bind(ip,port)
a. ip地址:互联网中唯一的一台计算机;赋值ip地址对应的字符串
b. port端口:计算机中不同的服务(程序);范围0-65535,其中0-1024属于著名,不能随便用;
同一时间,同一个端口只能对应一个服务
3)开始监听:server.listen()
4)保证服务器一直运行:接收客户端请求
a. 建立死循环保持服务器一直运行
b. con, addr = server.accept():等待接收客户端请求,返回客户端套接字对象和客户端地址
5)接收消息:msg = con.recv(1024),可修改一次性能接收的数据大小1024
6)对收到的消息解码:msg.decode(encoding=‘utf-8’)
7)发送消息:con.send()
8)关闭:con.close()
-
客户端实现:
1) 创建客户端的套接字对象:client = socket()
2) 与服务器建立连接:client.connect((ip, port))3) 接收消息:msg = client.recv(1024)
4)对收到的消息解码:msg.decode(encoding=‘utf-8’)
5)发送消息:client.send(msg.encode())
6)关闭:client.close()