查看: 248|回复: 1

网狐棋牌(二) CQueueServiceEvent初步分析(2)

[复制链接]

7

主题

34

帖子

199

积分

vip会员

Rank: 1

积分
199
发表于 2020-3-27 16:07:33 | 显示全部楼层 |阅读模式

这里是第一层:
1网狐棋牌(二) CQueueServiceEvent初步分析(2)struct tagDataHead
2网狐棋牌(二) CQueueServiceEvent初步分析(2){
3网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wDataSize;                            //数据大小
4网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wIdentifier;                        //类型标识
5网狐棋牌(二) CQueueServiceEvent初步分析(2)    DWORD                            dwInsertTime;                        //插入时间
6网狐棋牌(二) CQueueServiceEvent初步分析(2)};

这一层实际上是由CDataStorage负责打包管理,在CQueueServiceEvent执行PostTimerEvent操作的时候会在内部调用CQueueService的add最终调用到CDataStrorage的Add来打包数据,这里的结构也是非常像网络数据包|- len -|- type -|- data -|。
在来看Post这一层做的数据打包:
1网狐棋牌(二) CQueueServiceEvent初步分析(2)//定时器事件
2网狐棋牌(二) CQueueServiceEvent初步分析(2)struct NTY_TimerEvent
3网狐棋牌(二) CQueueServiceEvent初步分析(2){
4网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wTimerID;                            //定时器 ID
5网狐棋牌(二) CQueueServiceEvent初步分析(2)    WPARAM                            wBindParam;                            //绑定参数
6网狐棋牌(二) CQueueServiceEvent初步分析(2)};

|- len -|- type -|- sub protocl -|。
其他事件的打包过程都是类似的:
1网狐棋牌(二) CQueueServiceEvent初步分析(2)//数据库请求事件
2网狐棋牌(二) CQueueServiceEvent初步分析(2)struct NTY_DataBaseEvent
3网狐棋牌(二) CQueueServiceEvent初步分析(2){
4网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wIndex;                                //对象索引
5网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wRoundID;                            //对象标识
6网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wRequestID;                            //请求标识
7网狐棋牌(二) CQueueServiceEvent初步分析(2)};
8网狐棋牌(二) CQueueServiceEvent初步分析(2)
9网狐棋牌(二) CQueueServiceEvent初步分析(2)//网络应答事件
10网狐棋牌(二) CQueueServiceEvent初步分析(2)struct NTY_SocketAcceptEvent
11网狐棋牌(二) CQueueServiceEvent初步分析(2){
12网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wIndex;                                //连接索引
13网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wRoundID;                            //连接标识
14网狐棋牌(二) CQueueServiceEvent初步分析(2)    DWORD                            dwClientIP;                            //连接地址
15网狐棋牌(二) CQueueServiceEvent初步分析(2)};
16网狐棋牌(二) CQueueServiceEvent初步分析(2)
17网狐棋牌(二) CQueueServiceEvent初步分析(2)//网络读取事件
18网狐棋牌(二) CQueueServiceEvent初步分析(2)struct NTY_SocketReadEvent
19网狐棋牌(二) CQueueServiceEvent初步分析(2){
20网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wIndex;                                //连接索引
21网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wRoundID;                            //连接标识
22网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wDataSize;                            //数据大小
23网狐棋牌(二) CQueueServiceEvent初步分析(2)    CMD_Command                        Command;                            //命令信息
24网狐棋牌(二) CQueueServiceEvent初步分析(2)};
25网狐棋牌(二) CQueueServiceEvent初步分析(2)
26网狐棋牌(二) CQueueServiceEvent初步分析(2)//网络关闭事件
27网狐棋牌(二) CQueueServiceEvent初步分析(2)struct NTY_SocketCloseEvent
28网狐棋牌(二) CQueueServiceEvent初步分析(2){
29网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wIndex;                                //连接索引
30网狐棋牌(二) CQueueServiceEvent初步分析(2)    WORD                            wRoundID;                            //连接标识
31网狐棋牌(二) CQueueServiceEvent初步分析(2)    DWORD                            dwClientIP;                            //连接地址
32网狐棋牌(二) CQueueServiceEvent初步分析(2)    DWORD                            dwConnectSecond;                    //连接时间
33网狐棋牌(二) CQueueServiceEvent初步分析(2)};



还是一样,一句话总结CQueueServiceEvent:

线程安全的接受各种异步事件,并打包封装好以后插入到关联的制定IQueueService中.


回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部