如何在 asyncio 和 transport_base class 中创建 python 并行套接字?

how to create python parallel sockets in asyncio and transport_base class?

我在 python 中为我的不间断服务器使用了 asyncio 并实现了 connection_made , connection_lost , data_received 我的 ServerClientProtocol

中的函数

我用这个class首先是因为多次重复发送数据到套接字class套接字 关闭并退出程序

其次,因为我认为它是异步的,并且可以同时并行响应多个即将到来的套接字, 但事实并非如此。

我应该如何在一个异步线程和并行应答套接字中使用它?

这是我的代码:

    class ServerClientProtocol(asyncio.Protocol):    
        def connection_made(self,transport):
            self.transport = transport

        def connection_lost(self,exc):
            pass

        def data_received(self, data):
            server.server(self,data)

    def main(*args):    
        loop = get_event_loop()        
        coro = loop.create_server(ServerClientProtocol, '127.0.0.1', 50008)    
        srv = loop.run_until_complete(coro)    
        loop.run_forever()    
    if __name__ == '__main__':
        main()

server.server() 可能会阻止其他连接。如果这是一个长 运行 调用,请尝试使用 asyncio.start_server (example here) instead, and call server.server() using await loop.run_in_executor(None, server.server, data)