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

關(guān)于ping的問題

aifei2533

ping的字符串和二進制數(shù)據(jù)格式是什么樣的?ping采用什么機制?

5669 5 0
5個回答

walkor 打賞

ping機制其實就是向客戶端定時發(fā)送一小段數(shù)據(jù)
這段數(shù)據(jù)滿足以下規(guī)則:
1、必須符合你的通訊協(xié)議
2、客戶端能夠識別ping的數(shù)據(jù),客戶端可以忽略服務(wù)端的ping數(shù)據(jù)或者回復(fù)一個pong的數(shù)據(jù)

例如你的通信協(xié)議是 text+回車
那么你可以發(fā)送一個 ping的數(shù)據(jù)例如 ping\n
方法如下:新建一個ping.data文件,內(nèi)容為ping+回車,
配置Gateway.conf.ping_data = yourpath/ping.data
yourpath為你ping.data的目錄

例如你的通信協(xié)議是websocket協(xié)議,你需要一個符合websocket協(xié)議的ping的數(shù)據(jù)。
方法如下:
進入到workerman項目目錄,運行
php -a
include './applications/Chat/Protocols/WebSocket.php';
// yourpath為你要存放ping數(shù)據(jù)的地方
file_put_contents('/tmp/ping.data', \Protocols\Websocket::encode('ping'));
配置Gateway.conf.ping_data = /tmp/ping.data

  • 暫無評論
aifei2533

那服務(wù)端怎么處理ping不通的連接?
直接ping不同就踢掉連接還是多少次ping不通踢掉?

  • chosen1cwp 2014-08-29

    這個可以設(shè)置 在conf/conf.d/Gateway.conf設(shè)置
    ping_not_response_limit = N
    代表客戶端連續(xù)N次沒有回應(yīng)心跳數(shù)據(jù)就斷開鏈接,N可以為1

walkor 打賞

ping 不通超時的話TCP層面會做重試,重試多次無果后回斷開鏈接,觸發(fā)Event::onclose重試次數(shù)等依賴服務(wù)器系統(tǒng)配置

ping的過程中發(fā)現(xiàn)客戶端已經(jīng)斷開,則會立刻觸發(fā)onClose

  • 暫無評論
aifei2533

重試次數(shù)等依賴服務(wù)器系統(tǒng)配置,這個怎么理解?現(xiàn)在的版本不是自己指定次數(shù)的是嗎?

  • 暫無評論
walkor 打賞

TCP層面的重試只能通過更改操作系統(tǒng)配置來設(shè)置,workerman不能改動操作系統(tǒng)配置

不過可以在應(yīng)用層面設(shè)置發(fā)出ping多久客戶端未返回pong就斷開鏈接,這個功能會再后面的版本實現(xiàn)

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