如何防止由于Crossbar的握手超时而导致WebSocket关闭?

时间:2019-07-05 08:42:29

标签: python wamp autobahn crossbar

我已经设置了Crossbar路由器(python2.7,使用autobahntwisted以及4位python3来宾工作人员在路由器上注册了相同的过程。现在,我正在尝试从客户端对该过程进行远程过程调用。每个RPC还将参数列表传递给已注册的过程。

对于传递的参数较小的请求,整个设置可以正常工作。但是,到参数大小大于1MB的同一过程的RPC失败。纵横制日志打印

2019-07-05T09:26:08+0200 [Guest       13071] '2019-07-05T09:26:08+0200 dropping connection to peer tcp4:xxx.x.x.x:port with abort=True: WebSocket closing handshake timeout (peer did not finish the opening handshake in time)\n'
2019-07-05T09:26:08+0200 [Guest       13071] '2019-07-05T09:26:08+0200 session closed with reason wamp.close.transport_lost [WAMP transport was lost without closing the session 5511553394504540 before]\n'

我在github上遇到了this issue,讨论了处理此特定错误的不同方法。但是,

  • 都不调整open_handshake_timeout文件transports:options部分中的config.json参数
  • 也不要将openHandshakeTimeout中的factory.setProtocolOptions参数设置为90(或更高)

为我解决了这个问题。

我还能做些什么来做这项工作?


版本信息

  • crossbar:0.11.1
  • autobahn:19.6.2

0 个答案:

没有答案