使用过shenyi0106的【IOCP_API之TCP服务器编程】的进来看下,也请shenyi0106帮助解答下有关问题.

使用过shenyi0106的【IOCP_API之TCP服务器编程】的进来看下,也请shenyi0106帮助解答下问题...
shenyi0106的 IOCP_API 库写的不错,之前没网络编程经验,主要搞嵌入式系统,现在需要用到PC机服务器,于是直接调试了IOCP_API1.2.1.3的代码。但是在测试的时候还是遇到内存泄露,在多客户端连接下,通信速度在1MB/S以下的情况,通信正常,内存使用正常,但是在10MB/S左右的时候,内存直线增加,很快耗尽,可能是我的测试方法不对,我是参考shenyi0106写的ServerTest版本1.0.0.11修改,在客户端单开一个线程发送数据,得到的答案。
大家应该使用过,要到过啥问题提出来,大家来完善它,我如果能把发现的问题解决,我会跟帖分享的,希望大家积极发言啊。
有好的实例可以发我邮箱,28733690@163.com 谢谢大家

------解决方案--------------------

------解决方案--------------------
感谢帮助俺测试,呵呵……
最近换了工作,刚刚入职,很多事情要弄,所以没有时间来逛****了,
对已你发现的问题,我也有过这样的大负载测试,我测试的最大负载是11000PPS(每秒11000个包),每个包是1K,从流量监测工具上看到的是10MB/s的流量,而且也做了相应的长时间负载测试(>=20分钟),均表现正常(内存,CPU,网络都表现正常)。
但是有一点我没有说到,就是在大负载情况下,突然关闭服务器,可能会造成内存泄露,这是由于采用了内存池的技术,并且IOCP是异步通知的特性,也就是说,有些已经投递内存在突然关闭服务器时,没有来得及得到完成通知,导致没有完成相关的内存释放,但是这仅仅会发生在大负载且突然关闭的情况下,正常运行不会出现这类问题。
还有一点,你打开源码,将代码中的所有名称相同的结构体的名称改一下,改成不同明的(代码中也要做相应修改),然后再重新编译。我最经发现好像这些同名的结构体虽然在不同的引用文件中,但是要想存在一些不可预知的运行时冲突(会导致sizeof计算错误),你修改一下,然后再试试。

大致就是这些情况,有什么问题,请及时和我联系,最好QQ联系,我也好及时回应(虽然可能有事不能立即回应,但是最起码我知道这事了,呵呵)
------解决方案--------------------


内存泄露的高手. 怕怕.我还是用自己的iocp.
------解决方案--------------------
codeproject上面有几个完成端口例子,没有内存问题,只是测试的话用用没问题。商用的话还要仔细完善一下。
------解决方案--------------------
我正好也在看这一块的东西..
------解决方案--------------------
强烈建议进行单机测试最大流量....客户全速发送8K接收服务器回复8K, 看看1s内能够做多少次. 多开客户端以后每个客户端是多少次进行测试...期待发布测试结果...
------解决方案--------------------
终于有个像样一点的IOCP测试了...shenyi0106, 你好像漏了你的机器配置
------解决方案--------------------
自己顶下,怎么不可以发200分的帖子呢?wince版块都可以,呵呵
------解决方案--------------------
错误 2 error C2664: “IOCPInitServer”: 不能将参数 1 从“void (__cdecl *)(SOCKET,char *,int)”转换为“NOTIFYPROC”
------解决方案--------------------
这是什么情况呀,