Poloniex & websockets

Poloniex & websockets

本文关键字:websockets Poloniex      更新时间:2023-10-16

===SIMPLE & SHORT===

在这些日子里(2018年1月),是否有人通过WAMP与Poloniex交谈的工作应用程序? ===更具体===

我使用了几个信息源来使其使用组合:autobahn-cpp&C++视窗 10

操作系统。 我能够连接到 wss://api.poloniex.com 领域1。另外,我能够订阅并获得订阅ID。但即使一切都建立起来,我也从未遇到过任何事件。

===研究===

在网络上进行研究期间,我看到了很多有争议的信息:

1. 声称应该使用 wss://api2.poloniex.com,通道名称实际上是数字 - 如何使用 python 库

连接到 poloniex.com websocket API 2.这个答案给了我基本代码,但我得到的不仅仅是连接,也通过遵循这个答案 - wss://api.poloniex.com 是正确的地址 - 连接到 Poloniex 推送 API

3.我看到帖子(对不起,丢失了链接),有评论说websockets实现在poloniex上基本上被破坏了。它们是在 6 个月前发布的。

===规格===

1. 视窗 10

2. 高速公路-CPP

3. wss://api.poloniex.com:443 ;领域1

4.不同的订阅:股票代码,BTC_ETH,148,1002等。

5. 我从这里得到的源代码 ===也会有所帮助===

  1. 有没有办法获得所有有效的订阅,或者可能获得那些拥有超过 0 个订阅者的订阅?我的意思是,WAMP有办法做到这一点吗?

  2. 高速公路-CPP 和 poloniex 组合是否存在任何已知问题?

  3. 有没有更简单的方法可以在其他地方测试WAMP,以确保高速公路不是问题?像任何其他接受WAMP websocket通信的有据可查和支持的在线项目一样?

我可以从使用 python3 wss://api2.poloniex.com 接收正确的即时报价订单簿数据 但有时通道 1002 可能会停止发送新的即时报价信息。

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()

代码几乎是不言自明的(您可以在 Poloniex API 网站上检查所有通道/对),只需保存并在终端中运行即可

蟒蛇3 fileName.py

应该在控制台输出上为您提供BTCETH原始订单和交易流。

玩消息/订阅 然后你可以随心所欲地使用它。

Poloniex 中的 websocket 似乎不稳定。因此,我可以停止尝试让高速公路-CPP 至少现在使用它并继续前进。