Poloniex&的WebSockets

时间:2018-01-23 09:32:08

标签: c++ autobahn poloniex

=== SIMPLE& SHORT ===

在这些日子里(2018年1月),有没有人通过WAMP与Poloniex交谈?

===更具体= =

我使用了几个信息源来使用combo: autobahn-cpp &的 C ++ 即可。 Windows 10 操作系统。 我能够连接到wss://api.poloniex.com,realm1。另外,我能够订阅并获得订阅ID。但即使已经确定了所有事情,我也从来没有发生任何事件。

===研===

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

 1.声明,应该使用wss://api2.poloniex.com,频道名称实际上是数字 - How to connect to poloniex.com websocket api using a python library

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

 3.我看到帖子(抱歉,丢失了链接),有评论表明websockets实现基本上在poloniex上被破坏了。他们是在6个月前发布的。

=== SPECS ===

 1. Windows 10

 2. Autobahn-Cpp

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

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

 5.我从here

获得的源代码

===会有所帮助===

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

  2. Autobahn-Cpp和poloniex组合有任何已知问题吗?

  3. 有没有更简单的方法在其他地方测试WAMP以确保高速公路不是问题?像任何其他记录良好的&支持接受WAMP websocket通信的在线项目?

3 个答案:

答案 0 :(得分:1)

我可以从wss获得正确的滴答订单簿数据://api2.poloniex.com使用python3 但有时候频道1002可能会停止发送新的节拍信息。

答案 1 :(得分:1)

  

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

这可能是问题,因为我一直在使用api2,这里的代码是有效的,并且在过去的两个季度中一直在不停地工作。它在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网站上的所有频道/对),只需保存并在终端中运行

  

python3 fileName.py

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

使用消息/订阅然后您可以随意使用它。

答案 2 :(得分:0)

似乎Poloniex中的websockets不稳定。因此,我可以阻止我的尝试让Autobahn-Cpp至少在现在使用它并继续前进。