Python创建一个TCP服务器
示例
您可以使用该socketserver库创建一个TCP服务器。这是一个简单的回显服务器。
服务器端
from sockerserver import BaseRequestHandler, TCPServer class EchoHandler(BaseRequestHandler): def handle(self): print('connection from:', self.client_address) while True: msg = self.request.recv(8192) if not msg: break self.request.send(msg) if __name__ == '__main__': server = TCPServer(('', 5000), EchoHandler) server.serve_forever()
客户端
from socket import socket, AF_INET, SOCK_STREAM sock = socket(AF_INET, SOCK_STREAM) sock.connect(('localhost', 5000)) sock.send(b'Monty Python') sock.recv(8192) #返回b'MontyPython'
socketserver使创建简单的TCP服务器相对容易。但是,您应该知道,默认情况下,服务器是单线程的,一次只能服务一个客户端。如果要处理多个客户端,请实例化一个ThreadingTCPServer。
from socketserver import ThreadingTCPServer ... if __name__ == '__main__': server = ThreadingTCPServer(('', 5000), EchoHandler) server.serve_forever()