日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

断线重连

發布時間:2025/3/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 断线重连 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

斷線重連

以下純屬理論,無實踐
1,后端定時向前端發心跳包(每次序列號加1),后端收到后回復一個,如果前端或后端在3秒內未收到心跳,則認為網絡狀況差,停止發送/接收游戲數據,繼續發心跳包進行網絡測速,直到網速達標(適用于對戰類游戲,如王者榮耀),或者提示網絡狀態不佳,斷開連接(MMORPG),
這種情況下的斷線,不進行重連,但這是斷線重連的基礎。
這種情況下,再次重連時不會有數據丟失,可以繼續上次數據發送
2,突然性網絡斷開,異常被捕獲后,前后端都立即知道了網絡斷開
斷開之前可能有一些數據已經從后端發出,還未到達前端,前端斷開連接后,數據到達不了前端,丟失了,
前后端開始斷線重連處理:前端每隔1秒向后端發送一次連接請求,直到連接上,若嘗試10次仍不能連接上,提示服務器無法連接,請檢查網絡狀況。
連接上的,服務器知道這是斷線的重連,因為斷開時服務器已經記錄下了玩家ID,
此時,服務器向前端下發一個斷線重連的回復數據,數據中有序列號,前端拿這個序列號與前端序列號對比,若后端大于前端,則知道斷線之后發生了丟包,然后把當前序列號發給后端,
后端將自己的序列號與前端發來的序列號對比,如相等,則一切正常。若不等(一定是小于,不可能大于)
則去緩存中去取緩存的協議數據,從前端的序列號開始處重新發送給前端。
這樣當玩家重連成功后,服務就會將玩家斷線期間周圍玩家的走路廣播,以及斷線前玩家的請求的回復數據(比如買了某個物品,剛點擊了物品)重新下發,像魔獸世界就是這樣的,斷線后重新成功,會看到一個急速的動畫播放,這就是后端在急速補包,前端做了加速表現。

posted on 2018-08-17 14:20 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

總結

以上是生活随笔為你收集整理的断线重连的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。