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

当我遇上-你 2011-10-31 10:34:35
shenyi0106的 IOCP_API 库写的不错,之前没网络编程经验,主要搞嵌入式系统,现在需要用到PC机服务器,于是直接调试了IOCP_API1.2.1.3的代码。但是在测试的时候还是遇到内存泄露,在多客户端连接下,通信速度在1MB/S以下的情况,通信正常,内存使用正常,但是在10MB/S左右的时候,内存直线增加,很快耗尽,可能是我的测试方法不对,我是参考shenyi0106写的ServerTest版本1.0.0.11修改,在客户端单开一个线程发送数据,得到的答案。
大家应该使用过,要到过啥问题提出来,大家来完善它,我如果能把发现的问题解决,我会跟帖分享的,希望大家积极发言啊。
有好的实例可以发我邮箱,28733690@163.com 谢谢大家
...全文
388 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
dnybz 2011-12-02
  • 打赏
  • 举报
回复
可以看看这个IOCP

http://code.google.com/p/iocpframework/
dnybz 2011-12-02
  • 打赏
  • 举报
回复
给你一个IOCP Framework 代码

http://code.google.com/p/iocpframework/
神的理想 2011-11-30
  • 打赏
  • 举报
回复
最这个不太熟悉,感觉使用ACE挺省心的
当我遇上-你 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 42 楼 sinservice 的回复:]
测测双工吧,应该存在崩溃级别的bug
[/Quote]
已经测试过了。呵呵
「已注销」 2011-11-22
  • 打赏
  • 举报
回复
测测双工吧,应该存在崩溃级别的bug
当我遇上-你 2011-11-21
  • 打赏
  • 举报
回复
我自己重新写了客户端,使用选择模式,没有设置setsockopt的缓冲区,现在基本上正常了,
谢谢大家,东西还有继续完善,先结贴吧
当我遇上-你 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 wswwxk 的回复:]
引用 34 楼 shenyi0106 的回复:
引用 33 楼 wswwxk 的回复:
在测试的过程中,为什么关闭掉服务器端接收回调函数里面的发生函数后,接收数据减少了呢?重新打开又正常了...服务器只接收怎么不正常呢?

注意!!这是pingpong测试,发送依赖接收

我现在修改了客户端,单独线程发送,服务器只接收,不发送数据,结果服务器端不正常
[/Quote]
去掉客户端的里面发送的setsockopt设置就可以了,但是包数量明显减少,但是从360速度提示,又是正常的,这还有继续测试
当我遇上-你 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 a380111 的回复:]
这是什么情况呀,
[/Quote]
你使用的VC6.0还是vs2005啊?
a380111 2011-11-17
  • 打赏
  • 举报
回复
这是什么情况呀,
a380111 2011-11-17
  • 打赏
  • 举报
回复
错误 2 error C2664: “IOCPInitServer”: 不能将参数 1 从“void (__cdecl *)(SOCKET,char *,int)”转换为“NOTIFYPROC”
当我遇上-你 2011-11-16
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 shenyi0106 的回复:]
引用 33 楼 wswwxk 的回复:
在测试的过程中,为什么关闭掉服务器端接收回调函数里面的发生函数后,接收数据减少了呢?重新打开又正常了...服务器只接收怎么不正常呢?

注意!!这是pingpong测试,发送依赖接收
[/Quote]
我现在修改了客户端,单独线程发送,服务器只接收,不发送数据,结果服务器端不正常
当我遇上-你 2011-11-15
  • 打赏
  • 举报
回复
那我要正常的通信,要怎么修改呢
shenyi0106 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 wswwxk 的回复:]
在测试的过程中,为什么关闭掉服务器端接收回调函数里面的发生函数后,接收数据减少了呢?重新打开又正常了...服务器只接收怎么不正常呢?
[/Quote]
注意!!这是pingpong测试,发送依赖接收
当我遇上-你 2011-11-15
  • 打赏
  • 举报
回复
在测试的过程中,为什么关闭掉服务器端接收回调函数里面的发生函数后,接收数据减少了呢?重新打开又正常了...服务器只接收怎么不正常呢?
当我遇上-你 2011-11-12
  • 打赏
  • 举报
回复
当客户端一直发送数据的时候,突然关闭掉服务器端,服务器端会出现内存泄露错误问题,估计应该是投递的事件没有处理完成,资源就回收了,大家觉得有什么好的处理方法呢?
分不够可以加哈...
当我遇上-你 2011-11-10
  • 打赏
  • 举报
回复
现在连接一天客户端测试24小时通信,在关闭服务器端的时候,程序弹出内存泄露错误框,服务器端没有使用线程池,大家测试的有啥问题呢?
当我遇上-你 2011-11-10
  • 打赏
  • 举报
回复
连接了一台,通信量在600K/S
wyx100 2011-11-08
  • 打赏
  • 举报
回复
codeproject上面有几个完成端口例子,没有内存问题,只是测试的话用用没问题。商用的话还要仔细完善一下。
shenyi0106 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 wswwxk 的回复:]
//接收数据
if (WSARecv(hSock, &DataBuf, 1, &RecvBytes, &Flags,&Overlapped, NULL) == SOCKET_ERROR)
{
if (WSAGetLastError() != ERROR_IO_PENDING)
{
TRACE("WSARecv failed with e……
[/Quote]
不需要,看看我给你的例子,在RecvPacket后面,如果返回成功,是需要调用ReleasePacket释放这个包的
cchvsgame 2011-11-08
  • 打赏
  • 举报
回复
自己顶下,怎么不可以发200分的帖子呢?wince版块都可以,呵呵
加载更多回复(24)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧