国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

心跳問題 客戶端發(fā)往網(wǎng)關(guān)

h0r1z0n

由于業(yè)務(wù)需求,現(xiàn)在長連接機制是由客戶端發(fā)送ping 每10s 服務(wù)端回復(fù)pong的機制來維持的
開始的時候是由服務(wù)器發(fā)送ping 客戶端回復(fù)pong的機制,但是測試由于客戶端掉線檢測不夠靈敏,所以改為了客戶端主動發(fā)送ping的模式,
提問:
現(xiàn)在要檢測客戶端的在線情況,如果由客戶端發(fā)送ping的模式服務(wù)器回復(fù)pong(onMessage),onClose回調(diào)是否依然有效呢(1、網(wǎng)絡(luò)斷開 2、斷電),觸發(fā)的時間能否保證呢

2678 1 1
1個回答

walkor 打賞

有效。觸發(fā)時間和服務(wù)端發(fā)送ping區(qū)別不大

  • h0r1z0n 2019-01-15

    客戶端定時發(fā)送心跳(推薦)
    客戶端定時(間隔最好小于60秒)向服務(wù)端發(fā)送心跳。服務(wù)端類似以下配置:

    $gateway = new Gateway("Websocket://0.0.0.0:8585");

    $gateway->pingInterval = 55;

    $gateway->pingNotResponseLimit = 1;

    $gateway->pingData = '';
    以上配置含義是客戶端連接 pingInterval*pingNotResponseLimit=55 秒內(nèi)沒有任何請求則服務(wù)端認為對應(yīng)客戶端已經(jīng)掉線,服務(wù)端關(guān)閉連接并觸發(fā)onClose回調(diào)。

    看了一下文檔,這個意思是 55秒必須受到客戶端的任何數(shù)據(jù)包,否者就觸發(fā)onClose ?
    目前我們的心跳包是客戶端發(fā)個一個{"type":"ping"} 服務(wù)端回一個{"type":"pong"}
    按照上面的設(shè)置就可以吧

  • walkor 2019-01-15

    可以

  • 張三瘋 2019-01-17

    @1:workeman的ping是發(fā)送什么?我發(fā)送個{"type":"ping"} 服務(wù)端回一個未知類型

  • walkor 2019-01-18

    手冊說了,數(shù)據(jù)可以是任意的。不一定是{"type":"ping"}

年代過于久遠,無法發(fā)表回答
??