UDP是非面向连接的,不用listen、不用accept。
UDP不区分客户端,就算是同一客户端发来的多个数据包,udp服务器也不区分,与处理多个客户端发来的数据包等同对待。
import socket
from time import strftime
host = ''
port = 12345
addr = (host, port)
s = socket.socket(type=socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(addr)
while True:
data, cli_addr = s.recvfrom(1024)
clock = strftime('%H:%M:%S')
data = data.decode('utf8')
data = '[%s] %s' % (clock, data)
s.sendto(data.encode('utf8'), cli_addr)
s.close()