使用Python Twisted Websocket Clien建立到服务器的并发Websocket连接

2024-04-20 07:58:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Python Twisted Authobhan-websocket从客户端(每台机器限制60k个端口)打开并发websocket连接客户。但是我无法使用以下代码打开不超过20k个连接:

from autobahn.twisted.websocket import WebSocketClientProtocol, WebSocketClientFactory

class WebSocketClient(WebSocketClientProtocol):

    def _handshake_request(self):
        pass

    def onOpen(self):
        self._handshake_request()

    def onConnect(self, response):
        pass
    def onMessage(self,data):
        pass


class WebSocketFactory(WebSocketClientFactory):

    """WebSocketClient Factory"""

    protocol = WebSocketClient

if __name__ == '__main__':

    factory = WebSocketFactory()

    ##### Note here. ######
    for _ in range(num_connections):
        reactor.connectTCP(ws_url, ws_port, factory)
    #####

    reactor.run()

“我用过”reactor.connectTCP连接在循环中,使用Twisted打开并发websocket连接是否正确?你知道吗

让我知道。你知道吗


Tags: selfrequestfactorydeftwistedpassclasswebsocket
1条回答
网友
1楼 · 发布于 2024-04-20 07:58:42

您需要执行较少的并发连接尝试。你可能能够维持20k或更多的连接,但你不能同时建立它们。你知道吗

一次限制自己几十个或一百个。您可能需要为此使用twisted.internet.task.cooperate。你知道吗

相关问题 更多 >