前端使用vue,后端使用php-gateway 前端心跳設置正常,時間25秒一次。 在頁面掛起長鏈接一段時間后,客戶端發(fā)送消息推送給服務端(成功),服務端會返回信息狀態(tài)(成功),但是整個長鏈接就會斷線重連。 有的時候在頁面掛著也會斷線重連。
斷開的時候把時間也打印下,有可能是客戶端被掛起導致心跳數(shù)據(jù)沒發(fā)出去,服務端把連接斷開了。
在斷開的上一個時間,沒有發(fā)送心跳請求。你說這個情況是不是就是在發(fā)送客戶端在發(fā)送數(shù)據(jù)的時候把心跳的時間給延遲了,導致的了服務端沒有接受到心跳信息,超時了給斷掉了。
對
那如果客戶端是接收長鏈接消息的時候呢,返回的信息把心跳給擠掉了。那其中的一個客戶端發(fā)送數(shù)據(jù)過多,另一個客戶端長鏈接就會斷掉,剛發(fā)的這個圖。這種情況如何調整。
如果不進行任何操作,每隔一段時間發(fā)送一次心跳。也會有自動斷開鏈接的情況,這種情況呢。
也有可能網絡不穩(wěn)定吧。外網指望一個連接永久保持不斷開是不現(xiàn)實的,還是要有重連機制。