我正在尝试使用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连接是否正确?你知道吗
让我知道。你知道吗
您需要执行较少的并发连接尝试。你可能能够维持20k或更多的连接,但你不能同时建立它们。你知道吗
一次限制自己几十个或一百个。您可能需要为此使用
twisted.internet.task.cooperate
。你知道吗相关问题 更多 >
编程相关推荐