一:基于UDP协议通信的套接字
基于UDP协议 只要是套接字,在开发的过程中一定要有服务端和客户端。 UDP协议说的就是数据报协议,也就是说,基于UDP协议来发数据,每发一个数据,都是带有报头的数据, 而TCP协议,每发一个数据,就是一个数据流 之前解决粘包问题的一个做法。是为每一个数据流在逻辑层面上加了一个头,将它变成一个数据报, 而UDP协议本身发数据就是数据报,所以说TCP协议有粘包问题,UDP协议没有粘包问题,
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import socket server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) server.bind(('127.0.0.1',8080)) while True: data,client_addr=server.recvfrom(1024) print(data) server.sendto(data.upper(),client_addr) server.close()
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import socket client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) while True: msg=input('>>:').strip() client.sendto(msg.encode('utf-8'),('127.0.0.1',8080)) data,server_addr=client.recvfrom(1024) print(data)
二:数据报协议的特点
三:socketsever 模块