一、問題描述:
項目:項目爲一個聊天室,選擇swoole技術實現,查看官方文檔使用心跳檢測可以回收沒有用的fd值,並且減輕壓力。
服務器:初始化配置heartbeat_idle_time,heartbeat_check_interval 這兩個參數
客戶端:檢測關閉事件,斷線續聯服務器
問題:服務器主動斷開客戶端的時候,這個鏈接的過程中有人發送消息包,則會有很大的可能丟包
二、解決問題
採用的客服端用定時器定時給服務器發送心跳包,這樣服務器端就可以知道當前客戶端還在存活,則不會主動斷開鏈接