如我们所知,UDP是一种无连接的,不可靠的数据报服务,首先看一下UDP的编程流程:
上述左边是服务器的流程,右边是客户端的流程。使用上述流程实现简单的聊天小程序。
聊天程序实例
服务器
from socket import *
ADDR = ('127.0.0.1',8888)
server = socket(AF_INET,SOCK_DGRAM)
server.bind(ADDR)
print("服务器已经启动")
setdefaulttimeout(20)
while True:
data,client = server.recvfrom(1024)
print("接受客户端的消息",data.decode("utf-8"))
info = input('>>>')
server.sendto(info.encode(),client)
server.close()
客户端
from socket import *
ADDR = ('127.0.0.1',8888)
cli = socket(AF_INET,SOCK_DGRAM)
while True:
info = input('>>>')
cli.sendto(info.encode(), ADDR)
print("发送完成")
data, server = cli.recvfrom(1024)
print("接受到服务器的消息", data.decode("utf-8"))
if data.decode() == 'end':
break
cli.close()