实现一个用UDP协议和客户端通信的服务器:
内容和TCP很像,这里直接撸代码:
from socketserver import BaseRequestHandler,UDPServer
import time
class udpHandler(BaseRequestHandler):
def handle(self):
print(
'GOT A CONNNECTION:',self.client_address
)
local_time = time.ctime()
msg, sock = self.request
sock.sendto(local_time.encode('ascii'),self.client_address)
if __name__ == '__main__':
udp = UDPServer(('',20001),udpHandler)
udp.serve_forever()
from socket import socket, AF_INET, SOCK_STREAM, SOCK_DGRAM
s = socket(AF_INET, SOCK_DGRAM)
s.sendto(b'',('localhost',20001))
print('recv:',s.recvfrom(8192))