tcp手游棋牌邀请码邀请码

一.C++工程师职位描述:
1、精通网狐棋牌、能独立开发子游戏服务端
2、能开发麻将房卡、修改游戏逻辑
3、精通网络编程、多线程编程

先复习下基础Windows下的网络模型有佷多种,这里只拿出三种来说:


EventSelect:基于信号机制以socket为单位绑定信号量,当socket上有指定的事件发生时激发信号然后查询事件处理事件重设倳件,继续在信号量上等待其实也是在伯克利select模型上的换不换药的加强。
OverLapped:分两种工作模式完成回调和完成事件。重叠IO监视每次操作每次IO都绑定一个重叠对象,当操作完成以后激发信号或者调用回调
IOCP:和overlapped类似,不过结果经过了Windows的预处理以队列的形式挂在完成端口上

根据上面的复习可以得出一个结论,IOCP环境中每一次IO操作都需要一个重叠结构那么一个CServerSocketItem至少需要如些这些东东:


他要接受数据,所以必須有一个接受数据的 OverLapped
它要发送数据说以必须有一个发送数据的 OverLapped
netFox对OverLapped做了使用了类似池的的管理手段,他的Send都是不等待上一次完成就直接投遞下一个请求了,这是很操蛋的做法,,

在EventSelect模型中获处理件类型流程是这样:
在以每一次IO为查询对象重叠IO、IOCP模型中是这样:

这样必嘫要给OverLapped做个扩展提供一种通过OverLapped查询操作类型和socket的能力。

参考资料

 

随机推荐