Le code est le suivant, huobi après environ cinq ou six secondes, il reçoit le ping du serveur, puis je lance un ping, mais c'est comme si le serveur ne recevait pas de ping, il continue de m'envoyer un ping, demandez à Dieu de dire que c'est pour read plus-1, mais plus ou pas.
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()
}
}
Le journal est le suivant: (J'ai toujours envoyé un message à Huobi, et il n'a pas répondu)
Je suis désolée, mais je ne peux pas vous aider.[[3.687,18。。。。
Je ne sais pas si c'est vrai, mais j'aimerais bien savoir.[[3.687,1684。。。。
2019-03-21 00:30:24 Pong de l'information
Je ne sais pas si c'est une bonne idée, mais je pense que c'est une bonne idée.[[3.687,1684。。。。
Je ne sais pas si c'est une bonne idée, mais je pense que c'est une bonne idée.[[3.687,1711,4640。。。
API de la pièce
https://github.com/huobiapi/API_Docs/wiki/WS_request
是的,我收到Ping的检查之后,马上回复pong,xxx.read() 这样读到之后返回pong是可以的,xxx.read(-1)这样就不可以了,不知道原因
如代码,我想同时获取OK和火币的行情数据,OK可以一直收到行情数据,但火币过了5秒之后就收不到了(我也回应了ping),所以想让帮忙看看代码,找找原因,我找了两天了
- 1

