什么是UDP服务器?
UDP服务器就是实现一个基于UDP协议的服务器来与客户端通信。就是用来收发数据,进行数据处理的。
与TCP服务器不同的是不用建立连接,直接调用recvfrom来收包。
跟TCP服务器一样,UDP服务器也可以通过使用 socketserver 库很容易地被创建。
先定义一个实现 handle() 特殊方法的类,为客户端连接服务。 这个类的 request 属性是一个包含了数据包和底层socket对象的元组。client_address 包含了客户端地址。
- from socketserver import BaseRequestHandler, UDPServer
- import time
- class TimeHandler(BaseRequestHandler):
- def handle(self):
- print('Got connection from', self.client_address)
- message, sock = self.request
- resp = time.ctime()
- sock.sendto(resp.encode('ascii'), self.client_address)
- if __name__ == '__main__':
- serv = UDPServer(('', 16888), TimeHandler)
- serv.s