【发布时间】:2017-02-15 14:13:52
【问题描述】:
我想使用 Python Tornado 使用特定的子协议(我们称之为“mySubProtocol”)连接到 websocket 服务器。我不知道如何使用websocket_connect 方法来做到这一点。它的方法签名是:
def websocket_connect(url, io_loop=None, callback=None, connect_timeout=None, on_message_callback=None, compression_options=None)
现在出于测试目的,我使用了一个名为“Dark WebSocket Terminal”的工具,我可以简单地将子协议指定为 URL 后面的参数,如下所示
/connect ws://10.1.45.195:8081/resource mySubProtocol
在 Tornado 中,我尝试在 URL 除以 websocket_connect 方法的 URL 参数中的空格后添加 subprotocol 参数,但这会导致错误的请求异常。
connection = tornado.websocket.websocket_connect(url="ws://10.1.45.195:8081/resource mySubProtocol", callback=self.onConnected, connect_timeout=30)
在连接请求中定义子协议对我来说似乎是一项常见的任务,但是我发现这方面的信息很少。任何帮助是极大的赞赏。 亲切的问候,blomquist
【问题讨论】: