Подключение к WebSocket биржи poloniex
Добрый вечер.
Хочу получать данные push по wss. Пользуясь их примерами, запускаю код из консоли cmder (предварительно установив node.js и autobahn): var autobahn = require('autobahn'); var wsuri = "wss://api.poloniex.com"; var connection = new autobahn.Connection({ url: wsuri, realm: "realm1" }); connection.onopen = function (session) { function trollboxEvent (args,kwargs) { console.log(args); } session.subscribe('trollbox', trollboxEvent); } connection.onclose = function () { console.log("Websocket connection closed"); } connection.open(); И как бы я не менял функции и подписки всегда выдается сообщение: Websocket connection closed Каким образом можно отловить ошибку? Нужно ли открывать какие-то порты на клиенте для подключения к websocket? Есть ли у кого-то возможность проверить этот код через node.js и подсказать, что не так? API poloniex лежит тут: https://poloniex.com/support/api/ Пример их реализации: https://pastebin.com/dMX7mZE0 Ещё нашел пример реализации с запуском через html-файл, но от тоже не заработал: https://codepen.io/Anderson-Juhasc/pen/pbOJmN |
События open не происходит, нет такого соединения.
Я написал запрос из браузера на этот адрес: var socket = new WebSocket("wss://api.poloniex.com"); socket.onopen = function() { console.log('ok'); } "Firefox не может установить соединение" Короче, нет такого адреса. Я так думаю. |
А не может быть такого что сертификат не принимается?
|
У меня была такая мысль, потому что при GET-запросах https обычно прикручивается ещё строка query типа
http://api.blabla.com/?key=[key], но у сокет-соединений, вроде бы, нет такой опции (или я не знаю просто). А вообще, WebSocket же работает так: сначала браузер посылает запрос по http/https - принимает ли сервер ws/wss? И если получает ответ, что принимает - соединяется по сокету и про http какбэ забывает. Я не знаю, как там всё устроено у этой биржи (или что это). |
Странно, что если push биржи не работает, нигде про это нет ни слова...
Может быть вас натолкнет на мысль такая ошибка: Когда открываю через браузер и смотрю в консоль разработчика, то выдается ошибка соединения и ссылается на конкретную строку autobahn: ?new b.WebSocket(a._options.url,a._options.protocols):new b.WebSocket(a._options.url);e.binaryType="arraybuffer"}else if("MozWebSocket"in b)e=a._options.protocols?new b.MozWebSocket(a._options.url |
Хе. Я набрал в браузере вот так https://api.poloniex.com - там извинения, что пока сервер не работает, попробуйте позже.
Короче, я могу только догадываться, но думаю, что этот модуль, как и браузер, сначала отправляет такой запрос, но ответа не получает - на этом всё заканчивается. |
Спасибо за разъяснения! Думал что неверно настраиваю коннект. По началу валились какие-то данные, но они не соответствовали реальности. А сейчас просто записываются ошибки, иногда проскакивают сделки, но реальные они или нет - не понятно. Написал в саппорт, жду.
Интересно, каким образом агрегаторы с них информацию собирают. |
Часовой пояс GMT +3, время: 02:27. |