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中的作品混淆了我。
答
没有找到解决方案,所以我实现了我的正确的“平”。我取消订阅并订阅每个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);
})();
我有一个使用高速公路的问题,除了它在python上,poloniex api,市场话题上的问题。所以我猜想它遍历所有的ws。但事情是,重新连接是一个问题,无法弄清楚如何重新连接。 – Ilhicas
我本来希望今晚用Python进行测试,但是你确认我有同样的问题。很奇怪。我认为解决方案将是手动杀死套接字并重新启动它,但我不喜欢那种方式。如果您找到解决方案,请分享,我也会这样做。 – coolfarmer
不要使用这个协议数据到达与巨大的延迟(~10小时),看看[这里](https://*.com/questions/42436264/reading-messages-on-poloniex-trollbox-with-python- autbahn-or-other-socket-module /)以获取更多数据 –