udp协议没有粘包问题(udp协议即数据报协议)
服务端
import socket
# udp协议只需要IP+端口就可以发送数据了,回复也一样
# 对于udp没有发送空数据一说,什么都不输入直接发送,其实是把报头发送出去了,自带报头发送出去
# udp协议稳定传输的数据为512个字节
server = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#udp协议即数据报协议
server.bind(('127.0.0.1',8080))
#udp协议不需要建立连接所以不需要listen和accept
while True:
msg,addr = server.recvfrom(1024)
print(addr)
#因为没有连接,所以发送消息时必须设置好接收方的IP和PORT
server.sendto(msg.upper(),addr)
server.close()
客户端
import socket
# udp协议没有粘包问题
server = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
ip_port=('127.0.0.1',8080)
while True:
msg = input('>>>').strip()
server.sendto(msg.encode('utf-8'),ip_port)
back_msg,addr = server.recvfrom(1024)
print(back_msg.decode('utf-8'),addr)
server.close()