Poloniex & amp; WebSockets

=== SIMPLE & SHORT ===

У кого-нибудь есть работающее приложение, которое в эти дни общается с Poloniex через WAMP (январь 2018 г.)?

=== БОЛЬШЕ КОНКРЕТНО ===

Я использовал несколько источников информации, чтобы заставить его работать с помощью комбо: Автобан-каст & C ++. Windows 10 ОПЕРАЦИОННЫЕ СИСТЕМЫ.
Мне удалось подключиться к wss: //api.poloniex.com, realm1. Плюс я смог подписаться и получить подписной ID. Но я никогда не получал никаких событий, даже когда все установилось.

=== RESEARCH ===

Во время исследования в сети я увидел много противоречивой информации:

1. Утверждает, что должен использоваться wss: //api2.poloniex.com, а имена каналов на самом деле являются числами — Как подключиться к веб-сокету api poloniex.com с помощью библиотеки python

2. Этот ответ дал мне базовый код, но я получаю больше, чем просто соединения, также следуя этому ответу — wss: //api.poloniex.com — правильный адрес — Подключение к Poloniex Push-API

3. Я видел пост (извините, потерял ссылку), были комментарии, что реализация websockets в основном не работает на poloniex. Они были размещены 6 месяцев назад.

=== SPECS ===

1. Windows 10

2. Автобан-Cpp

3. wss: //api.poloniex.com: 443; realm1

4. Различные подписки: тикер, BTC_ETH, 148, 1002 и т. Д.

5. Исходный код, который я получил от Вот

=== ПОМОЖЕТ КАК ХОРОШО ===

  1. Есть ли способ получить все действующие подписки или, возможно, те, которые имеют более 0 подписчиков? Я имею в виду, есть ли у WAMP способ сделать это?

  2. Есть ли какие-либо известные проблемы с Autobahn-Cpp и Poloniex Combo?

  3. Есть ли более простой способ проверить WAMP в другом месте, чтобы убедиться, что автобан не является проблемой? Как и любой другой хорошо документированный & поддерживаемые онлайн-проекты, поддерживающие связь через веб-сокет WAMP?

3

Решение

Я могу получить правильные данные книги заказа тиков от wss: //api2.poloniex.com use python3
но иногда канал 1002 может прекратить посылать новую информацию о тиках.

1

Другие решения

wss: //api.poloniex.com: 443; realm1

Это может быть проблемой, так как я использую api2, и вот код, который работает и работает последние 2 квартала без остановок. Это в Python, но должно быть достаточно легко портировать на C ++.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import websocket
import json

def on_error(ws, error):
print(error)

def on_close(ws):
print("### closed ###")
connection.close()

def on_open(ws):
print("ONOPEN")
ws.send(json.dumps({'command':'subscribe','channel':'BTC_ETH'}))

def on_message(ws, message):
message = json.loads(message)
print(message)

websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://api2.poloniex.com/",
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
ws.run_forever()

код не требует пояснений (вы можете проверить все каналы / пары на веб-сайте API Poloniex), просто сохраните его и запустите в терминале

python3 fileName.py

должен предоставить Вам BTCETH необработанный поток ордеров и сделок на выходе консоли.

Играя с сообщением / подписками, Вы можете делать с ним все, что пожелаете.

1

Кажется, что веб-сокеты в Poloniex нестабильны. Поэтому я могу остановить свои попытки заставить Autobahn-Cpp работать с ним хотя бы сейчас и двигаться дальше.

0
По вопросам рекламы [email protected]