雖然上面介紹了這么多消息處理:從網絡接收到數據,再從數據解釋到數據獲取,但沒有一個清晰的流程,下面就來詳細地分析這個數據流程是怎么樣調用的。具體調用流程如下:
1.
???????
LLAppViewer::idle()
?????
空閑時處理函數。
2.
???????
LLAppViewer::idleNetwork()空閑時處理網絡事件。
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數據。
通過上面的流程,就可以分析服務器發來的數據,并且應用到當前界面里。其它類型的數據也是這樣不斷從服務器獲取的,可以跟服務器同步數據,實現顯示界面不斷地更新。
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
