目录
UDP服务端编程流程
1、创建服务端流程
- 创建socket的对象。socket.SOCK_DGRAM
- 绑定IP和Port,bind方法
- 传输数据
- 接受数据,socket.recvform(bufsize,[,flags]),获得一个二元组(string,address)
- 发送数据,socket.sendto(string,address)发给某地址信息
- 释放资源
import socket sercice_udp = socket.socket(type=socket.SOCK_DGRAM) sercice_udp.bind(("0.0.0.0",9999)) #绑定一个udp端口 data = sercice_udp.recv(1024) #阻塞数据等待数据 data = sercice_udp.recvfrom(10235) #阻塞等待一个数据(value,(ip,port)) sercice_udp.sendto(b"7",('192.168.1.102',10000)) sercice_udp.close()
结果状态
2、UDP客户端编程流程
- 创建socket对象。socket.SOCK_DGRAM
- 发送数据,socket.sendto(string,address)发给某地址某信息
- 接受数据,socket.recvform(bufsize,[,flags]),获得一个二原则(string,address)
- 释放资源
注意:UDP是无协议链接的,所以可以只有任何一端,例如客户端发往服务端,服务端存在与否无所谓
UDP创建socket对象后,是没有占用本地地址和端口的
import socket client_ser = socket.socket(type=socket.SOCK_DGRAM) raddr = ("192.168.1.102",10000) client_ser.connect(raddr) client_ser.sendto(b'8',raddr) client_ser.send(b'9') data = client_ser.recvfrom(1024) #阻塞等待数据