下面的代码似乎没有做任何事情。有没有取消订阅的方法?是否可以使用socket.io取消订阅MtGox API频道?
var MTGOX = 'https://socketio.mtgox.com/mtgox';
var conn = io.connect(MTGOX);
conn.emit({
'channel':'d5f06780-30a8-4a48-a2f8-7ed181b4a13f',
'op':'mtgox.unsubscribe'
});
下面的代码似乎没有做任何事情。有没有取消订阅的方法?是否可以使用socket.io取消订阅MtGox API频道?
var MTGOX = 'https://socketio.mtgox.com/mtgox';
var conn = io.connect(MTGOX);
conn.emit({
'channel':'d5f06780-30a8-4a48-a2f8-7ed181b4a13f',
'op':'mtgox.unsubscribe'
});
这里的例子:https://en.bitcoin.it/wiki/MtGox/API/Streaming#op:subscribe_and_op:unsubscribe显示运算名称只是“退订”,而你有“mtgox.unsubscribe”。你可以尝试没有前缀,和/或让我们知道你从哪里得到这个前缀?
Mt.Gox API响应“消息”事件,因此您应该使用Socket.IO的send
命令。
conn.send({
"channel": "d5f06780-30a8-4a48-a2f8-7ed181b4a13f",
"op": "unsubscribe"
});
要取消订阅频道,给运算 “取消订阅”。至订阅,发送op“mtgox.subscribe”(as listed on the bitcoin.it wiki)。
这是可供选择的方法(澄清):
conn.emit('message', {
"channel": "d5f06780-30a8-4a48-a2f8-7ed181b4a13f",
"op": "unsubscribe"
});
'conn.send({})'对我不起作用。我得到错误/备注''未知的命令''和调试对象:'{data_raw:“[object Object]”}'。我尝试了'JSON.stringify'这个参数,然后它就起作用了。然而,对于'conn.emit('message',{})'你是绝对正确的,没有'message'作为第一个参数,它不会退订任何东西。 – lp1051 2014-01-24 17:30:51
是的,我最初试图'unsubscribe'。它也不起作用。在一些示例代码中我找到了'mtgox.unsubscribe'。 – 2013-02-10 02:56:00