我正在Dart中编写一个应用程序,PubNub没有可用的库。我的问题是,是否可以使用Websockets与MtGox api(据我所知,建立在PubNub上)进行交互? PubNub如何与Websockets相关?他们的文档主要是宣传他们的SDK库。我很困惑从哪里开始。
答案 0 :(得分:3)
问题是如何在没有PubNub提供的SLA官方支持的SDK的情况下使用PubNub实时网络。我们不建议这样做,而是提供了推荐的方法,其中包括使用标准的import 'dart:js'
库互操作。详细信息如下,但如果您仍想继续使用非库方法,HTTP REST Push API接口的文档将是一个通用的起点。但现在我们继续使用下面推荐的方法!请继续阅读。
使用 Google Dart 订阅Mt.Gox比特币实时Feed非常简单,但最初有点令人困惑。首先使用以下脚本标记设置HTML文件;并且不要忘记PubNub <div>
!
<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 订阅密钥参数。
接下来,您的Dart应用源代码将只打开TCP Socket到实时流。请注意,频道ID为d5f06780-30a8-4a48-a2f8-7ed181b4a13f
。这是Mt.Gox提供的众多频道流之一,允许您接收交易/深度/股票信号。
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