似乎真的很难找到关于WAMP.2协议的任何东西。我正在尝试连接一个使用WAMP.2的webSocket,使用Python,autobahn和twisted。然而,我一直收到这个错误:
2018-03-09 14:54:53+0100 [-] Log opened.
2018-03-09 14:54:53+0100 [-] Starting factory
<autobahn.twisted.websocket.WebSocketClientFactory object at 0x000002A461F489B0>
2018-03-09 14:54:53+0100 [-] failing WebSocket opening handshake ('WebSocket connection upgrade failed (400 -ThisserveronlyspeaksWebSocketsubprotocolswamp.2.cbor.batched,wamp.2.cbor,wamp.2.msgpack.batched,wamp.2.msgpack,wamp.2.ubjson.batched,wamp.2.ubjson,wamp.2.json.batched,wamp.2.json)')
2018-03-09 14:54:53+0100 [-] dropping connection to peer tcp4:... with abort=True: WebSocket connection upgrade failed (400 - ThisserveronlyspeaksWebSocketsubprotocolswamp.2.cbor.batched,wamp.2.cbor,wamp.2.msgpack.batched,wamp.2.msgpack,wamp.2.ubjson.batched,wamp.2.ubjson,wamp.2.json.batched,wamp.2.json)
2018-03-09 14:54:53+0100 [-] Stopping factory
<autobahn.twisted.websocket.WebSocketClientFactory object at 0x000002A461F489B0>
2018-03-09 14:55:01+0100 [-] Received SIGINT, shutting down.
2018-03-09 14:55:01+0100 [-] Main loop terminated.现在,通常,当我被卡住的时候,我至少可以在互联网上找到一些关于它的东西。然而,关于这方面的信息似乎很少(google甚至没有给出任何与WAMP.2相关的结果)。
我想,如果webSocket服务器正在使用WAMP.2,那么肯定有一种方法可以连接到它们,对吧?如果是这样,为什么很难找到关于它的任何东西呢?
我正在使用的代码:
from autobahn.twisted.websocket import WebSocketClientFactory,
WebSocketClientProtocol, connectWS
from twisted.internet import reactor
class EchoClientProtocol(WebSocketClientProtocol):
def sendHello(self):
self.sendMessage("Hello, world!")
def onOpen(self):
self.sendMessage("Hi there")
def onMessage(self, msg, binary):
print("Got echo: " + msg)
reactor.callLater(1, self.sendHello)
if __name__ == '__main__':
import sys
from twisted.python import log
log.startLogging(sys.stdout)
factory = WebSocketClientFactory("wss://api.poloniex.com")
factory.protocol = EchoClientProtocol
connectWS(factory)
reactor.run()发布于 2018-03-12 21:51:43
WAMP是一个建立在WebSocket之上的协议,你需要一个库来实现它。
Autobahn|Python会这样做,但您正在尝试与WAMP路由器建立纯WebSocket连接。这自然会失败。
有关如何从Python连接到WAMP路由器的基本示例,请参阅例如https://github.com/crossbario/crossbar-examples/tree/master/hello/python
附注:http://wamp-proto.org/implementations/上列出的所有实现都在运行WAMP v2。版本1几乎已经被载入史册。
https://stackoverflow.com/questions/49195721
复制相似问题