重新串連HRC+ SmartFoxServer 2X

來源:互聯網
上載者:User

重新串連HRC +

由於SmartFoxServer 2X版本2.5(及更高版本)引入了高彈性串連系統(HRC +)的改進版本,使得玩家可以在突然中斷連線後重新加入伺服器,而不會丟失其目前狀態。

在本文中,我們將討論HRC +可以節省大量開發工作的方式,技術方面的做法以及如何配置和測試。
為什麼我斷開連線。

在本網開發與測試時,意外的中斷連線是非常罕見的事情,但是當我們終於上網時,可能會發生幾個可能會影響遊戲串連的惡作劇。

串連在沒有通知的情況下丟棄的主要原因是交通擁堵。播放器串連通常通過幾十個網路節點到達目的地,並且這些連結中的每一個都可能是潛在的故障點。事實上,如果這些路由器和網關中的任何一個都被流量壓倒了,它們可能會響應太慢,被迫丟棄資料包或重設,從而導致失速並最終中斷連線。

如果我們添加混合WIFI和移動串連,情境變得更加細膩,因為訊號強度的下降可能導致與遊戲伺服器的突然斷開。

所有這些情況主要在作業系統的TCP堆棧中處於低層級,TCP堆棧又會在應用程式層級調度其他程式可以做出的響應。 SmartFoxServer 2X在這些方面也不例外,它在很大程度上取決於那些低層級的通知。

在這篇文章的後面,我們將看到如果某些事件沒有及時解決,可能會發生什麼。
»HRC +救援

HRC +是SmartFoxServer 2X提供的獨特功能,可協助構建更強大的多使用者遊戲,讓玩家透明地返回遊戲而不會失去其狀態。

下圖說明當播放器突然斷開與伺服器的串連時會發生什麼:

從左側開始,我們有三個使用者串連到SFS2X,所有玩家一起玩在同一個地區中的玩家A,B,C。突然使用者B失去串連,伺服器上的Player對象被凍結,所有發送給他的訊息都儲存在隊列中。

同時,用戶端API正在嘗試建立一個新的串連,而其他玩家可以繼續他們的遊戲,知道使用者B試圖跳回來。

在圖的右側,玩家B終於重新串連。新的會話與舊的Player對象連結,用戶端被更新為所有排隊的訊息,其他玩家被通知B已經回來了。令人興奮的部分是,在所有這些階段,遊戲流程不會中斷,並且重新串連的所有複雜性都從開發人員隱藏起來。
»可能會出錯

並不是所有的中斷連線都相等。斷斷續續可能存在一段時間的少數情況,不能觸發重連繫統。

我們將文檔的整個部分專用於Ghost Connections的問題,這是我們調用“半封閉”TCP串連的方式。沒有太多的細節,TCP協議採用多個訊息交換來斷開用戶端和伺服器。在網路突然停用情況下,無法完成此交換,並且TCP串連可以在一段時間內保持在“等待”狀態。

這種情況的典型原因是從電腦拉出網路電纜或WIFI介面或移動串連中的訊號突然丟失。在所有這些情況下,最終可能會出現一個ghost串連,TCP串連仍然在等待關閉操作完成。

為何HRC +功能如此相關。這是至關重要的,因為在此狀態下的TCP通訊端將不會在應用程式層級通知任何中斷連線事件,因此SmartFoxServer將不會意識到此新條件。最終,TCP逾時或SmartFox空閑通訊端逾時將觸發(取決於更早的啟動),並且將中斷連線事件。
不要拔掉電源
»正確的中斷連線測試方法

反向拔除網路電纜或關閉WiFi串連不會產生可用於測試的突然中斷連線。

事實上,您可以使用Netstat公用程式(Windows,Mac和Linux上可用)在拔下電纜之前和之後監視電腦的串連,並且您會驚訝地發現沒有任何變化。

重要訊息:請勿嘗試通過拔出乙太網路電纜或關閉WIFI串連來測試重新串連系統。兩個操作都不會終止您當前的通訊端串連,因此斷開事件將永遠不會被觸發。

而是按照我們在下面部分連結的題為“串連階段”的文章中提供的說明。
»進一步閱讀

有關如何配置和測試HRC +的更多資訊,請參見“開發基礎”部分中的串連階段。為了進一步瞭解TCP / IP如何處理中斷連線,您可以閱讀此外部文章

翻譯自http://docs2x.smartfoxserver.com/GettingStarted/reconnection-hrc-plus

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.