Я пытаюсь использовать новый API веб-сокетов с Poloniex . Wamp теперь устарел, и очень мало информации о том, как сделать простой вызов для общедоступных данных в реальном времени, таких как объем и т. Д.
Я нашел этот код, который, кажется, реализует этот сокет, но появляется в bitestream. Когда я запускаю код, он вызывает заголовок в порядке и получает также заголовок ответа, и, кажется, отправляет и получает данные, но затем закрывает сокет. Как я могу подписаться на канал громкости и декодировать потоковые данные?
import websocket
import threading
import time
import json
from threading import Thread
def on_message(ws, message):
print(message)
def on_error(ws, error):
print(error)
def on_close(ws):
print("### closed ###")
def on_open(ws):
print("ON OPEN")
def run(*args):
ws.send(json.dumps({'command':'subscribe','channel':1003}))
while True:
time.sleep(1)
ws.close()
print("thread terminating...")
threading.Thread(target=run).start()
if __name__ == "__main__":
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()
Am expecting a streaming connection to volume data but get this:
ON OPEN
send: b"\x81\xa9.)\x1d\xb8U\x0b~\xd7CD|\xd6J\x0b'\x98\x0cZh\xda]Jo\xd1LL?\x94\x0e\x0b~\xd0OGs\xddB\x0b'\x98\x1f\x19-\x8bS"
[1003,1]
unorderable types: float() > NoneType()
send: b'\x88\x82fWPGe\xbf'
### closed ###
Поло, кажется, думает, что я подписан: