首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

QQ 基於 UDP 的訊息送達失敗提醒機制推測

     編輯:程式設計疑難解答

UDP 特性

無連線、不可靠、無序,應用層需自行實現可靠性。

QQ 可能的失敗偵測邏輯

  1. 類 Ping 探測:定期發送心跳封包,若連續 N 次無回應,判定對方離線/網路不通,標記訊息「發送失敗」。
  2. 應用層 ACK:訊息帶序號,接收端收到後回 ACK;發送端設定超時重傳,超過重傳上限仍無 ACK 則提示失敗。
  3. 獨立進程監控:發送邏輯與 UI 進程分離,由專門的網路進程負責重傳與狀態更新,避免阻塞主執行緒。

準確度限制

  • 網路抖動可能導致誤判「失敗」,實則對方已收到。
  • NAT 穿透失敗、防火牆阻擋也會觸發失敗提示。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved