现在的位置: 首页 > 综合 > 正文

蔡军生先生第二人生的源码分析(三十七)消息处理的完整流程

2014年02月04日 ⁄ 综合 ⁄ 共 743字 ⁄ 字号 评论关闭
虽然上面介绍了这么多消息处理:从网络接收到数据,再从数据解释到数据获取,但没有一个清晰的流程,下面就来详细地分析这个数据流程是怎么样调用的。具体调用流程如下:
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数据。
通过上面的流程,就可以分析服务器发来的数据,并且应用到当前界面里。其它类型的数据也是这样不断从服务器获取的,可以跟服务器同步数据,实现显示界面不断地更新。

抱歉!评论已关闭.