我正在用 Dart 编写一个应用程序,PubNub 没有它的库。我的问题是,是否可以使用 Websockets 与 MtGox api(据我了解,基于 PubNub 构建)进行交互?PubNub 与 Websockets 有什么关系?他们的文档主要宣传他们的 SDK 库。我很困惑从哪里开始。
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
<div>
包括 Mt.Gox订阅密钥参数。
PubNub Dart 源文件和 SDK 使用订阅回调示例
接下来,您的 Dart 应用程序源代码将简单地将 TCP 套接字打开到实时流。注意频道 ID 是d5f06780-30a8-4a48-a2f8-7ed181b4a13f
. 这是 Mt.Gox 提供的众多频道流之一,可让您接收交易/深度/股票行情信号。
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