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'Monty Python'

socketserver使创建简单的TCP服务器相对容易。但是,您应该知道,默认情况下,服务器是单线程的,一次只能服务一个客户端。如果要处理多个客户端,请实例化一个ThreadingTCPServer。

from socketserver import ThreadingTCPServer

...

if __name__ == '__main__':

    server = ThreadingTCPServer(('', 5000), EchoHandler)

    server.serve_forever()

           

以上是 Python创建一个TCP服务器 的全部内容, 来源链接: utcz.com/z/337873.html

回到顶部