UDP通信时日常中比较常用的一种通信协议,适用于很多的应用场景,例如:微信群聊,QQ群聊等。
1、UDP服务端的创建
import socket
# 创建udp套接字
sockdf = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定地址
sockdf.bind(('0.0.0.0', 2222))
print('Waiting connect......')
# 循环接收消息
while True:
data, addr = sockdf.recvfrom(1024)
if data == 'close'.encode():
break
print('Recv from {0} information {1}'.format(addr, data))
sockdf.sendto(b'Thanks', addr)
# 关闭套接字
sockdf.close()
2、UDP客户端的创建
import socket
# 服务器地址
ADDR = ('127.0.0.1', 2222)
# 创建套接字
sockdf = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print('Connect Successful')
# 循环的接收地址
while True:
msg = input('>>>')
if msg == '':
sockdf.sendto(b'close', ADDR)
break
sockdf.sendto(msg.encode(), ADDR)
data, addr = sockdf.recvfrom(1024)
print('接收来自服务端%s的消息%s' % (addr, data.decode()))
# 关闭连接
sockdf.close()