服务端代码:server_UDP.py
import socket
import time
address = ('127.10.0.1', 31500) # 服务端地址和端口
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建socket
s.bind(address) # 绑定服务端地址和端口
count=0
useraddr = ('127.4.3.100', 8888) # 客户端的地址和端口,后面将发送数据到该地址和端口
while count<100000:
count+=1
time.sleep(0.0001) # 发送间隔
send = "Data from server"+str(count) # 编辑发送的数据
s.sendto(send.encode(), useraddr) # UDP 是无状态连接,所以每次连接都需要给出目的地址
s.close()
客户端代码: user_UDP.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建socket
bindAddr = ('127.4.3.100',8888) # 用于客户端的地址和端口绑定
s.bind(bindAddr) # 将socket绑定地址和端口,实际使用中只需要绑定端口即可,地址由电脑确定
while True:
data, addr = s.recvfrom(1024) # 返回数据和接入连接的(服务端)地址,得到服务端发来的数据和地址
data = data.decode() # 解码数据
print('[Recieved data]:', data, '[Server addr]:', addr)
s.close()
依次执行两端代码:
python server_UDP.py
python user_UDP.py
客户端收到的数据显示结果:
|