Websocket与高速公路停止响应几个小时后

问题描述:

我有一个古怪的问题,高速公路| JS和Poloniex.com上的推送API。 我连接到他们的API来获取他们的聊天中的所有消息,并在1-2小时后,websocket关闭没有错误,没有什么可以帮助我调试。我已经测试了3种语言的行为(PHP,NodeJS和JS)和2有问题(PHP和NodeJS),我的JavaScript测试从1天开始没有问题。Websocket与高速公路停止响应几个小时后

的代码非常简单:

var connection = new autobahn.Connection({url: 'wss://api.poloniex.com', realm: 'realm1'}); 

connection.onopen = function (session) { 
    function onevent(args) { 
     console.log("Message:", args[3]); 
    } 
    session.subscribe('trollbox', onevent); 
}; 

connection.open(); 

我与主管测试和的NodeJS同样的问题,经过1-2个小时,没有任何反应,没有错误,只是没有收到消息了。

我是新来的websocket,所以我想我可以测试更多,但事实上,所有在Javascript中的作品混淆了我。

+1

我有一个使用高速公路的问题,除了它在python上,poloniex api,市场话题上的问题。所以我猜想它遍历所有的ws。但事情是,重新连接是一个问题,无法弄清楚如何重新连接。 – Ilhicas

+0

我本来希望今晚用Python进行测试,但是你确认我有同样的问题。很奇怪。我认为解决方案将是手动杀死套接字并重新启动它,但我不喜欢那种方式。如果您找到解决方案,请分享,我也会这样做。 – coolfarmer

+0

不要使用这个协议数据到达与巨大的延迟(~10小时),看看[这里](https://*.com/questions/42436264/reading-messages-on-poloniex-trollbox-with-python- autbahn-or-other-socket-module /)以获取更多数据 –

没有找到解决方案,所以我实现了我的正确的“平”。我取消订阅并订阅每个X分钟(我的测试运行时间为1天,间隔5分钟)。没有更多的断开连接,没有错过来自trollbox的消息。

AUTOBAHN_DEBUG = true; 

var autobahn = require('autobahn'); 

(function trollbox() { 

    console.log("\n------------- OPEN CONNECTION ---------------\n"); 
    var connection = new autobahn.Connection({ 
    url: 'wss://api.poloniex.com', 
    realm: 'realm1', 
    max_retries: -1 
    }); 

    connection.onopen = function (session) { 
    function onevent (args) { 

     // Do somethings... 
     console.log(args[3]); 
    } 
    session.subscribe('trollbox', onevent); 

    setTimeout(function() { 
     console.log("\n------------- CLOSING CONNECTION ---------------\n"); 
     connection.close(); 
    }, 300000); 

    }; 

    connection.open(); 

    setTimeout(trollbox, 300200); 
})(); 

因此,trollbox目前无法正常工作,您断开连接的原因是由于不活动。

,如果你想看看你可以看看网页源在这里 here ,并期待在2440线,并看到trollbox订阅评论。