這篇文章將為大家詳細講解有關swoole如何保持不掉線,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
公司主營業(yè)務:成都網(wǎng)站設計、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出安陽縣免費做網(wǎng)站回饋大家。
正常情況下客戶端中斷TCP連接時,會發(fā)送一個FIN包,進行4次斷開握手來通知服務器。但一些異常情況下,如客戶端突然斷電斷網(wǎng)或者網(wǎng)絡異常,服務器可能無法得知客戶端已斷開連接。
尤其是移動網(wǎng)絡,TCP連接非常不穩(wěn)定,所以需要一套機制來保證服務器和客戶端之間連接的有效性。
Swoole擴展本身內置了這種機制,開發(fā)者只需要配置一個參數(shù)即可啟用。Swoole在每次收到客戶端數(shù)據(jù)會記錄一個時間戳,當客戶端在一定時間內未向服務器端發(fā)送數(shù)據(jù),那服務器會自動切斷連接。
使用方法:
$serv->set(array( 'heartbeat_check_interval' => 5, 'heartbeat_idle_time' => 10, ));
上面的設置就是每5秒偵測一次心跳,一個TCP連接如果在10秒內未向服務器端發(fā)送數(shù)據(jù),將會被切斷。
高級用法:
使用swoole_server::heartbeat()函數(shù)手工檢測心跳是否到期。此函數(shù)會返回閑置時間超過heartbeat_idle_time的所有TCP連接。程序中可以將這些連接做一些操作,如發(fā)送數(shù)據(jù)或關閉連接。
關于“swoole如何保持不掉線”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
當前題目:swoole如何保持不掉線
文章網(wǎng)址:http://www.chinadenli.net/article30/pigdpo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、品牌網(wǎng)站建設、關鍵詞優(yōu)化、定制開發(fā)、App開發(fā)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)