Sau đó, huobi sẽ nhận được một cú ping từ máy chủ, và tôi sẽ phát ra một cú pong, nhưng máy chủ sẽ không nhận được một cú pong nào cả, và nó sẽ liên tục gửi cho tôi một cú ping, và tôi sẽ nói với ông trời rằng nó là read+1, nhưng không có gì cả.
function main() {
var ws_hbdm = Dial("wss://www.hbdm.com/ws?compress=true|compress=gzip&mode=recv")
var ws_ok= Dial("wss://real.okex.com:10440/ws/v1?compress=true|compress=gzip_raw&mode=recv")
var pingCyc = 1000 * 120
var lastPingTime = new Date().getTime()
if(ws_hbdm && ws_ok){
ws_hbdm.write('{"sub": "market.EOS_CW.depth.step6","id": "id2"}')
ws_ok.write("{'event':'addChannel','channel':'ok_sub_futureusd_eos_depth_this_week_5'}")
while(1){
//读取huobi数据
var ret = ws_hbdm.read(-1)
if(ret){
var ret1=JSON.parse(ret)
if("tick" in ret1){
Log("huobi",ret1.tick)
}else if("ping" in ret1){
ws_hbdm.write('{"pong":'+parseInt(ret1.ping)+'}')
Log("pong")
}
}
//读取ok数据
var nowTime = new Date().getTime()
var ret2 = ws_ok.read(-1)
if(ret2){
if(nowTime - lastPingTime > pingCyc){
ws_ok.write("{'event':'ping'}")
lastPingTime = nowTime
}
var ret3=JSON.parse(ret2)
if(ret3.length>0){
if("data" in ret3[0]){
Log("ok",ret3[0].data)
}
}
}
}
//ws_hbdm.close()
}
}
Hồ sơ viết như sau: (thường gửi cho huobi số pong, không có phản ứng)
2019-03-21 00:30:25 thông tin ok {"asks":[[3.687,18。。。。
2019-03-21 00:30:24 Thông tin ok {"asks":[[3.687,1684。。。。
2019-03-21 00:30:24 Thông tin pong
2019-03-21 00:30:23 Thông tin ok {"asks":[[3.687,1684。。。。
2019-03-21 00:30:23 Thông tin ok {"asks":[[3.687,1711,4640。。。
Bitcoin API
https://github.com/huobiapi/API_Docs/wiki/WS_request
是的,我收到Ping的检查之后,马上回复pong,xxx.read() 这样读到之后返回pong是可以的,xxx.read(-1)这样就不可以了,不知道原因
如代码,我想同时获取OK和火币的行情数据,OK可以一直收到行情数据,但火币过了5秒之后就收不到了(我也回应了ping),所以想让帮忙看看代码,找找原因,我找了两天了
- 1

