【问题标题】:How to work with PubNub and MtGox api without using PubNub libraries?如何在不使用 PubNub 库的情况下使用 PubNub 和 MtGox api?
【发布时间】:2014-01-11 03:49:25
【问题描述】:

我正在用 Dart 编写一个应用程序,PubNub 没有它的库。我的问题是,是否可以使用 Websockets 与 MtGox api(据我了解,基于 PubNub 构建)进行交互? PubNub 与 Websockets 有什么关系?他们的文档主要宣传他们的 SDK 库。我很困惑从哪里开始。

【问题讨论】:

  • 很好的问题,我们正在努力为您提供答案。
  • 您想用 Dart 构建实时图表还是显示 24 小时趋势的图表?
  • 我正在构建一个交易应用程序,所以我需要实时更新订单簿之类的东西。

标签: pubnub mtgox


【解决方案1】:

PubNub Dart 订阅 Mt.Gox 比特币订阅源

问题询问如何在没有 PubNub 提供的 SLA 官方支持的 SDK 的情况下使用 PubNub 实时网络。我们不推荐这样做,而是提供了推荐的方法,其中包括使用标准 import 'dart:js' 库互操作。详细信息如下,但如果您仍想继续使用非库方法,HTTP REST Push API 接口的文档将是一个一般起点。但现在我们继续使用下面推荐的方法!请继续阅读。

使用 Google Dart 订阅 Mt.Gox 比特币实时供稿相当简单,但起初有点令人困惑。首先使用以下脚本标签设置您的 HTML 文件;不要忘记 PubNub <div>

PubNub Dart HTML 文件示例

<h1>PubNub Dart JavaScript SDK Usage Example</h1>

<div id="pubnub" sub-key="sub-c-50d56e1e-2fd9-11e3-a041-02ee2ddab7fe"></div>
<script src="https://cdn.pubnub.com/pubnub.min.js"></script>

<script type="application/dart" src="pubnub_sample.dart"></script>
<script src="packages/browser/dart.js"></script>
<script src="packages/browser/interop.js"></script>

注意:PubNub &lt;div&gt; 包含 Mt.Gox 订阅密钥 参数。

PubNub Dart 源文件和 SDK 使用订阅回调示例

接下来,您的 Dart 应用源代码将简单地将 TCP 套接字打开到实时流。请注意,频道 ID 是 d5f06780-30a8-4a48-a2f8-7ed181b4a13f。这是 Mt.Gox 提供的众多通道流之一,可让您接收交易/深度/Ticker 信号。

PubNub Dart 源文件

import 'dart:js';

void main() {
  context['PUBNUB'].callMethod( 'subscribe', [new JsObject.jsify({
    "channel" : "d5f06780-30a8-4a48-a2f8-7ed181b4a13f",
    "message" : ( message, env, channel, age ) => print(message)
  })] );
}

就是这样!您可以使用此方法开始接收来自 Mt.Gox 的实时实时信号。此外,您还需要为不同类型的事件添加或更改频道。

注意:您可以通过请求频道列表 API 调用来找到更多 Mt.Gox 频道:PubNub Mt.Gox Channel Stream Feed Listing for Ticker/Trade/Depth Signals

【讨论】:

  • 确实,只需使用来自 Dart 的 PubNub js 库和 dart:js 就可以了,这可以被认为是目前的解决方案。尽管如此,作为一个纯粹主义者,我希望我能更深入地了解 pubnub 的实际工作原理。您在答案中的示例正在建设中,尚未完成,但看起来您不打算直接使用 PubNub API,而只是调用 pubnub 对象上的方法。所以,澄清一下,我并不真正需要 Dart 代码,而是需要一些关于连接位置和预期内容的信息 :)
  • 你确实是对的!我们将在 Dart 中使用 PubNub JavaScript SDK。但这有点棘手,因此我们正在寻找为您解决此问题的方法。
  • @snitko 好的,我们终于找到了一个工作示例,它允许您使用 PubNub 提供的支持 SLA 的 JavaScript SDK 订阅 Mt.Gox 的流式提要。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多