UDP
的用法和 TCP
类似,只是 UDP 是 无连接的
,比 TCP 省略了一个步骤。
server.py
import socket
# socket.AF_INET (IPv4)
# socket.SOCK_DGRAM (udp)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 指定 IP:port
s.bind(('127.0.0.1', 9999))
# 循环 每次有新的连接触发
while True:
# 无连接
# tcp 需要连接、获取一个可读写的 "流"
# udp 无连接、直接接受数据包
# 请求处理
# data 当前数据包
# addr 当前连接ip:port
data, addr = s.recvfrom(1024)
# 响应处理
s.sendto(data, addr)
client.py
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 无连接
# 请求
s.sendto(b'hello', ('127.0.0.1', 9999))
# 响应
data = s.recv(1024).decode('utf-8')
print(data) # hello
# 关闭socket
s.close()