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

gatewayworker2 設(shè)備關(guān)機,無法觸發(fā)onClose ,只有服務(wù)端斷開才會觸發(fā)

lf

使用tcp協(xié)議 ,設(shè)備斷開后沒有觸發(fā)onClose方法,進行下線,當服務(wù)端停止后,才會觸發(fā)onClose方法 ,跪求大佬解答

2782 2 0
2個回答

walkor 打賞
  • lf 2020-12-23

    大佬,沒太看懂文檔,按照我的理解,是客戶端心跳中斷后,應(yīng)該觸發(fā)onClose ,但是現(xiàn)在只有服務(wù)進程徹底斷開才會觸發(fā)onClose

  • walkor 2020-12-24

    正常的情況客戶端斷開連接會向服務(wù)端發(fā)送一個fin包,服務(wù)端收到fin包后得知客戶端連接斷開,則立刻觸發(fā)onClose事件回調(diào)。
    但是有些極端情況如客戶端掉電、網(wǎng)絡(luò)關(guān)閉、拔網(wǎng)線、路由故障等,這些極端情況客戶端無法發(fā)送fin包給服務(wù)端,服務(wù)端便無法知道連接已經(jīng)斷開。如果客戶端與服務(wù)端定時有心跳數(shù)據(jù)傳輸,則會比較及時的發(fā)現(xiàn)連接斷開,觸發(fā)onClose事件回調(diào)。

    以上摘自手冊,解釋了為什么斷電后無法立刻觸發(fā)onClose。

  • lf 2020-12-24

    所以,就是說,斷電后會有一個周期,去發(fā)現(xiàn)是否斷線,然后觸發(fā) onClose

  • lf 2020-12-24

    正常退出是沒問題的,但是設(shè)備斷電,想通過心跳判斷斷開,但等了數(shù)個周期仍沒有觸發(fā)onClose

  • walkor 2020-12-24

    設(shè)置好 $gateway->pingNotResponseLimit 不為0,然后restart重啟GatewayWorker,注意是restart,不是reload。

  • lf 2020-12-24

    @1:

lf

已經(jīng)設(shè)置了,心跳設(shè)置放在Events文件截圖 截圖

  • walkor 2020-12-24

    在start_gateway.php 里設(shè)置

  • lf 2020-12-24

    大佬。我沒有這個文件,使用的tp框架集成的。

  • lf 2020-12-24

    已解決 ,找到問題了,多謝大佬

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