Poloniex 和网络套接字
Poloniex & websockets
===简单而简短===
这些天(2018 年 1 月)是否有人有通过 WAMP 与 Poloniex 对话的工作应用程序?
===更具体===
我使用了几个信息源来使用组合使其工作:autobahn-cpp & C++。 Windows10OS。
我能够连接到 wss://api.poloniex.com, realm1。另外,我能够订阅并获得订阅 ID。但是即使一切都建立了,我也没有得到任何事件。
===研究===
在网络研究期间,我看到了很多有争议的信息:
1. 声称应该使用 wss://api2.poloniex.com,频道名称实际上是数字 -
2. 这个答案给了我基本代码,但我得到的不仅仅是连接,也通过遵循这个答案 - wss://api.poloniex.com 是正确的地址 -
3. 我看到 post(抱歉,丢失了 link),有人评论说 websockets 的实现在 poloniex 上基本上是坏的。他们在 6 个月前 posted。
===规格===
1. Windows 10
2. Autobahn-Cpp
3. wss://api.poloniex.com:443;领域 1
4. 订阅不同:ticker、BTC_ETH、148、1002等。
5. 我从 获得的源代码
===也会有帮助===
有什么方法可以获取所有有效订阅,或者可能是那些拥有超过 0 个订阅者的订阅?我的意思是,WAMP 有办法做到这一点吗?
Autobahn-Cpp 和 poloniex 组合是否存在任何已知问题?
是否有任何更简单的方法可以在其他地方测试 WAMP 以确保高速公路不是问题?与接受 WAMP websocket 通信的任何其他有据可查且受支持的在线项目一样吗?
我可以从 wss://api2.poloniex.com 使用 python3 接收正确的订单簿数据
但有时通道 1002 可能会停止发送新的报价信息。
Poloniex 中的 websockets 似乎不稳定。因此,至少现在我可以停止让 Autobahn-Cpp 使用它并继续前进的尝试。
wss://api.poloniex.com:443 ; realm1
这可能是问题所在,因为我一直在使用 api2,这里是有效的代码,并且在过去两个季度一直有效 non-stop。它在 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()
代码差不多self-explanatory(你可以在Poloniex API网站上查看所有channels/pairs),只需保存并运行在终端
python3 fileName.py
应该在控制台输出上为您提供 BTCETH 原始订单流和交易。
玩 message/subscriptions 然后您可以随心所欲地使用它。
===简单而简短===
这些天(2018 年 1 月)是否有人有通过 WAMP 与 Poloniex 对话的工作应用程序?===更具体===
我使用了几个信息源来使用组合使其工作:autobahn-cpp & C++。 Windows10OS。 我能够连接到 wss://api.poloniex.com, realm1。另外,我能够订阅并获得订阅 ID。但是即使一切都建立了,我也没有得到任何事件。 ===研究=== 在网络研究期间,我看到了很多有争议的信息: 1. 声称应该使用 wss://api2.poloniex.com,频道名称实际上是数字 -===也会有帮助===
有什么方法可以获取所有有效订阅,或者可能是那些拥有超过 0 个订阅者的订阅?我的意思是,WAMP 有办法做到这一点吗?
Autobahn-Cpp 和 poloniex 组合是否存在任何已知问题?
是否有任何更简单的方法可以在其他地方测试 WAMP 以确保高速公路不是问题?与接受 WAMP websocket 通信的任何其他有据可查且受支持的在线项目一样吗?
我可以从 wss://api2.poloniex.com 使用 python3 接收正确的订单簿数据 但有时通道 1002 可能会停止发送新的报价信息。
Poloniex 中的 websockets 似乎不稳定。因此,至少现在我可以停止让 Autobahn-Cpp 使用它并继续前进的尝试。
wss://api.poloniex.com:443 ; realm1
这可能是问题所在,因为我一直在使用 api2,这里是有效的代码,并且在过去两个季度一直有效 non-stop。它在 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()
代码差不多self-explanatory(你可以在Poloniex API网站上查看所有channels/pairs),只需保存并运行在终端
python3 fileName.py
应该在控制台输出上为您提供 BTCETH 原始订单流和交易。
玩 message/subscriptions 然后您可以随心所欲地使用它。