Сообщение об ошибке, как правило, 'Ошибка: Поток закрыто неожиданно. исходя из Socket.io, но иногда сценарий просто перестает получать данные, не давая каких-либо ошибок. Последнее гораздо хуже, чем первый, потому что без диагностики Обнаружили ошибку я не могу даже повторного соединения с WebSocket.
Кто-нибудь испытывал ничего подобного? Если да, то как же вы справляетесь с этим? Любая информация будет высоко оценен.
Ура,
Сирил
___
На всякий случай, вот код:
Код:
вар Io = требуется ( 'Socket.io-клиент');
вар MTGOX_SOCKET_URL = 'https://socketio.mtgox.com/mtgox';
вар сокет = io.connect (MTGOX_SOCKET_URL);
process.on ( 'выход', функция () {
console.log ( 'Выход из процесса.');
});
socket.on ( 'сообщение', функция (сообщение) {
если (message.op == 'частный' && message.private 'глубины' ==)
renderDepthMessage (сообщение);
если (message.op == 'частный' && message.private == 'торговли')
renderTradeMessage (сообщение);
});
socket.on ( 'ошибка', функция (сообщение) {
console.log (сообщение);
});
socket.on ( 'разъединение', функция () {
console.log ( 'Отключено');
});
вар renderTradeMessage = функция (сообщение, lastPrice) {
console.log (getTradeFormat (message.trade, lastPrice));
};
вар renderDepthMessage = функция (сообщение) {
console.log (getDepthFormat (message.depth));
};
вар getDepthFormat = функция (глубина) {
вернуться depth.now + '' + depth.type + '' + depth.total_volume_int + '' + depth.price_int;
};
вар getTradeFormat = функция (торговая) {
вернуться trade.tid + '' + trade.trade_type + '' + trade.amount_int + '' + trade.price_int;
}
вар MTGOX_SOCKET_URL = 'https://socketio.mtgox.com/mtgox';
вар сокет = io.connect (MTGOX_SOCKET_URL);
process.on ( 'выход', функция () {
console.log ( 'Выход из процесса.');
});
socket.on ( 'сообщение', функция (сообщение) {
если (message.op == 'частный' && message.private 'глубины' ==)
renderDepthMessage (сообщение);
если (message.op == 'частный' && message.private == 'торговли')
renderTradeMessage (сообщение);
});
socket.on ( 'ошибка', функция (сообщение) {
console.log (сообщение);
});
socket.on ( 'разъединение', функция () {
console.log ( 'Отключено');
});
вар renderTradeMessage = функция (сообщение, lastPrice) {
console.log (getTradeFormat (message.trade, lastPrice));
};
вар renderDepthMessage = функция (сообщение) {
console.log (getDepthFormat (message.depth));
};
вар getDepthFormat = функция (глубина) {
вернуться depth.now + '' + depth.type + '' + depth.total_volume_int + '' + depth.price_int;
};
вар getTradeFormat = функция (торговая) {
вернуться trade.tid + '' + trade.trade_type + '' + trade.amount_int + '' + trade.price_int;
}