雖然上面介紹了這麼多訊息處理:從網路接收到資料,再從資料解釋到資料獲取,但沒有乙個清晰的流程,下面就來詳細地分析這個資料流程是怎麼樣呼叫的。具體呼叫流程如下:
空閒時處理函式。
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 下面開始迴圈處理...