完成端口通讯服务器(IOCP Socket Server)设计
(六)功能强大的IOCP Socket Servre模块例程源码
Copyright © 2009 代码客(卢益贵)版权所有
QQ:48092788 源码博客:http://blog.csdn.net/guestcode
一、声明
版权声明:
1、通讯模块代码版权归作者所有;
2、未经许可不得全部或部分用于任何项目开发;
3、未经许可不得部分修改后再利用源码。
免责声明:
1、 由于设计缺陷或其它Bug造成的后果,作者不承担责任;
2、未经许可的使用作者不提供任何技术支持服务。
权利和义务:
1、任何获得源码并发现Bug的个人或单位均有义务向作者反映;
2、作者保留追究侵权者法律责任的权利。
二、开发背景
部分代码由前项目分离而来,尚未有应用考验,但对于初学者学习和进阶有很大帮助。性能上尚未有定论,但应该不会令你失望。
三、功能说明
1、可以关闭Socket的Buffer;
2、可以关闭MTU(不等待MTU满才发送);
3、可以多IP或多端口监听;
4、可以重用socket(主动关闭除外);
5、可以0缓冲接收(Socket的Buffe = 0时,避免过多的锁定内存页);
6、可以0缓冲连接(客户端仅连接,不一定立即发数据);
7、可以条件编译:
a、是否使用内核Singly-linked lists;
b、是否使用处理线程(工作线程和处理线程分开);
c、是否使用内核锁来同步链表。
8、可以实现集群服务器模式的通讯(有客户端socket);
9、可以单独设置每个连接的Data项来实现连接和Usernfo的关联;
10、每个线程有OnBegin和OnEnd,用于设置线程独立的对象(数据库会话对象);
11、可以提供详细的运行情况,便于了解IOCP下的机制,以及进行调试分析;
12、可以发起巨量连接和数据(需要硬件配置来支持)。
1