第二人生的原始碼分析 三十七 訊息處理的完整流程

2021-04-16 20:02:48 字數 739 閱讀 1663

雖然上面介紹了這麼多訊息處理:從網路接收到資料,再從資料解釋到資料獲取,但沒有乙個清晰的流程,下面就來詳細地分析這個資料流程是怎麼樣呼叫的。具體呼叫流程如下:

空閒時處理函式。

3.llmessagesystem::checkallmessages() 檢查訊息系統所有訊息。

4.llmessagesystem::checkmessages()

檢查一下是否有訊息接收到。

5.lltemplatemessagereader::readmessage()讀取當前的訊息。

6.lltemplatemessagereader::decodedata()

把當前的訊息解包。

7.llmessagetemplate::callhandlerfunc() **處理這個訊息的函式。

8.llhudmanager::processviewereffect()

這個訊息是處理檢視效果。

9.llhudeffect::getidtype()

獲取id的型別。

10.llmessagesystem::getuuidfast()

取得訊息的uuid。

11.lltemplatemessagereader::getuuid()

從伺服器傳送回來的訊息包裡獲取uuid資料。

通過上面的流程,就可以分析伺服器發來的資料,並且應用到當前介面裡。其它型別的資料也是這樣不斷從伺服器獲取的,可以跟伺服器同步資料,實現顯示介面不斷地更新。

第二人生的原始碼分析 2 第二人生的基本功能

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!第二人生的基功能可以定義為網路遊戲 社交網路和 web2.0 作為網路遊戲,它可以讓人扮演角色,也就是第二人生裡的居民。居民只要買到地,或者租到地後就可以建造各種各樣的自己想得到的東西。比如建造遊樂園,或者建造電影院,又或者建造過山車。同時,還可以...

第二人生的原始碼分析 三十二 訊息解包的實現

從udp接收到資料後,就會組裝成乙個完整的資料報,然後檢驗整個資料報是否有效,並且還處理收到回應的udp包標識,這樣構造乙個完整的可靠性連線。具體處理 如下 001 bool llmessagesystem checkmessages s64 frame count 002 016 下面開始迴圈處理...

第二人生的原始碼分析 三十二 訊息解包的實現

從udp接收到資料後,就會組裝成乙個完整的資料報,然後檢驗整個資料報是否有效,並且還處理收到回應的udp包標識,這樣構造乙個完整的可靠性連線。具體處理 如下 001 bool llmessagesystem checkmessages s64 frame count 002 016 下面開始迴圈處理...