3

===简单而简短===

这些天(2018 年 1 月)是否有人有通过 WAMP 与 Poloniex 对话的有效应用程序?

===更具体===

我使用了几个信息源来使用组合:autobahn-cpp & C++视窗 10操作系统。我能够连接到 wss://api.poloniex.com,realm1。另外,我能够订阅并获得订阅 ID。但即使一切都建立起来,我也从未收到任何事件。

===研究===

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

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

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

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

===规格===

1. 视窗 10

2.高速公路-Cpp

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

4. 不同的订阅:ticker、BTC_ETH、148、1002等。

5.我从这里得到的源代码

===也会有帮助===

  1. 有什么方法可以获取所有有效订阅,或者可能是订阅数超过 0 的订阅?我的意思是,WAMP 有办法做到这一点吗?

  2. Autobahn-Cpp 和 poloniex 组合是否存在任何已知问题?

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

4

3 回答 3

1

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

于 2018-01-31T06:59:37.360 回答
1

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

这可能是我一直在使用 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 网站上查看所有通道/对),只需保存并在终端中运行

python3 文件名.py

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

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

于 2018-04-11T03:38:05.570 回答
0

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

于 2018-02-04T06:10:09.490 回答