gloox简单分析

来源:互联网 发布:thinkpad t470p 知乎 编辑:程序博客网 时间:2024/05/18 01:10
每天进步一点点。


gloox这个库写起来代码还是比较简单,不过网上资料很多。
但通过gloox带的例子写起来还是很简单的。


整体框架 clientBase 里面的recv不断接收消息。然后用Parse不断解析消息,当一个构成一个tag如果注册对应事件就回调对应函数。


虽然上面一句话就说完整个但整个写起来还是非常复杂,可以学习作者各种对象分类。


基本框架全部都在ClientBase的类里面


基本框架是:
ConnectionError ClientBase::recv( int timeout )[tcp接收所有服务器发过来的消息] ---> void ClientBase::parse( const std::string& data )[解析接收到消息并解析TAG,每当解析成一个节的时候就触发对应的事件]------>virtual void handleTag( Tag* tag )[触发对应的事件并通知不同事件];


网络数据整个流转的过程。


所有通信都是通过事件回调,自己要好好学习这种方法。
0 0
原创粉丝点击