Hbdm e OK assinaram um contrato com o websocket, e o Huobi enviou o Pong sem resposta.

Autora:Guangtianxia, Criado: 2019-03-21 00:35:45, Atualizado: 2019-03-21 11:26:42

O código é o seguinte, o huobi recebe o ping do servidor em cerca de cinco ou seis segundos, e então eu faço um pong, mas parece que o servidor não recebe o Pong, e continua a me enviar um ping, por favor, diga para o read adicionar um, mas adicionar ou não.

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() 
    }
}

O diário é o seguinte: 2019-03-21 00:30:25 Informações ok {asks:[[3.687,18]]. 2019-03-21 00:30:24 Informações ok {asks:[[3.687,1684]]. 2019-03-21 00:30:24 Informações pong 2019-03-21 00:30:23 Informações ok {asks: [[3.687,1684]]. 2019-03-21 00:30:23 Informações ok {asks: [[3.687,1711,4640]].

API de moedashttps://github.com/huobiapi/API_Docs/wiki/WS_request


Mais.

Ervas daninhasVeja se a localização do servidor é a causa e atualize o administrador.

Ervas daninhas/upload/asset/292ead2ae2ccd91659e.jpg Copie seu código.

Ervas daninhasAlguns servidores de exchanges enviam um link de verificação de ping de vez em quando.

Ervas daninhasMas você, o administrador, é muito velho, os padrões de desbloqueio do w são adicionados mais tarde.

GuangtianxiaObrigada! Atualizei o administrador, tudo bem.

GuangtianxiaPor exemplo, o código, eu queria obter os dados do mercado de OK e do token ao mesmo tempo, OK pode receber os dados do mercado, mas o token não pode ser recebido depois de 5 segundos (eu também respondi ao ping), então eu queria que você olhasse para o código e descobrisse o porquê, eu encontrei dois dias.

Ervas daninhasNão sei o que se passa contigo.

GuangtianxiaSim, eu recebi um ping depois de um check, e imediatamente respondi pong, xxx.read ((() assim é possível ler e retornar pong depois, xxx.read ((-1)) assim não é possível, não sei porquê.