使用gatewayClient 這個(gè) isUidOnline? 方法? ? ?在客戶端突然斷網(wǎng)時(shí)? 加著心跳 也依然是 當(dāng)前客戶端在線? 這塊 各位有遇到么?
1、客戶端突然斷網(wǎng)這種極端情況,服務(wù)器是無(wú)法感知到客戶端連接已經(jīng)斷開(kāi)的,所以服務(wù)端調(diào)用gatewayClient::isUidOnline 應(yīng)該會(huì)出現(xiàn)還在線的情況。
2、你這個(gè)心跳是怎么加的? 最好就是要求客戶端定期發(fā)送心跳包,若規(guī)定時(shí)間內(nèi)沒(méi)有收到,則服務(wù)端強(qiáng)行干掉這個(gè)連接,此時(shí)調(diào)用?gatewayClient::isUidOnline? 應(yīng)該是OK了。
嗯嗯 我發(fā)現(xiàn)是我沒(méi)有設(shè)置 $gateway->pingNotResponseLimit = 1; 這個(gè)的原因
如果我一旦設(shè)置這個(gè) 就需要服務(wù)端在給客戶端在send(pong)吧
pingNotResponseLimit 取值:
(1) 0 代表服務(wù)端不要求客戶端發(fā)送心跳,也就是客戶端發(fā)不發(fā)我服務(wù)端不關(guān)心。
(2) 1 代表服務(wù)端要求客戶端必須發(fā)送心跳,也就是規(guī)定時(shí)間不發(fā)我就干掉你。