udp传输是不需要建立链接.
udp 没有listen(5)
udp没有accept
udp 一个send 对应一个recvfrom
udp不会粘包
在liunx上如果发送的udp大于接受的,就会丢弃多余的字节
在windows上会报错
服务端
1 from socket import * 2 3 server=socket(AF_INET,SOCK_DGRAM) 4 server.bind(('127.0.0.1',8080)) 5 6 # server.listen(5) #udp没有 7 # server.accept() #udp没有 8 9 # while True: #udp没有连接,更不可能有连接循环了 10 # server.accept() #udp没有 11 12 while True: #通信循环 13 msg,client_addr=server.recvfrom(1024) 14 print(msg) 15 server.sendto(msg.upper(),client_addr)
客户端
from socket import * client=socket(AF_INET,SOCK_DGRAM) # client.connect(('127.0.0.1',8080)) #udp没有连接 while True: msg=input('>>: ').strip() client.sendto(msg.encode('utf-8'),('127.0.0.1',8080)) msg,server_addr=client.recvfrom(1024) print(msg)
udp不可靠,发送消息之后就会将内存中的信息删除.