このコードは,huobiは5~6秒後にサーバーのピングを受け取ります. そして私はポングを発します. しかし,サーバーがポングを受け取れないようで,常に私にピングを送っています.
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()
}
}
この日記は以下の通りです. (huobiにポング値を送る,反応しない)
2019-03-21 00:30:25 情報はok {
小草サーバーの位置が原因か確認し,ホストを更新してください.
小草/upload/asset/292ead2ae2ccd91659e.jpg コードをコピーしてみました
小草ある取引所サーバーは,間隔にリンクをチェックするピングを送信します.
小草管理者は年を取ってしまい,wx解読のパターンは後になって追加されます.
グアンティアンキアありがとうございました! 管理者を更新しました.
グアンティアンキアOKは常に市場データを受け取っているが,トークンは5秒後に受信できない (私はピングにも返信した) だから,コードを見て,その理由を見つけたいと思った. 私は2日間見つけた.
小草問題を抱えているのか?
グアンティアンキアそう,私はPingのチェックを受け,すぐにPongに返信,xxx.read() この方法で読み返した後にPongを返信することは可能ですが,xxx.read(-1) ではできません.理由がわかりません.