拿了个别人的仅回显的IOCP代码稍加修改,增加了自己的应答部分编程仅用一个客户端测试,经常客户端异常断开(如调试程序一半就停)或开几个连接(另几个程序来连接服务端)的时候,IOCP服务端死掉,为何?而且还找不到原因,找不到出错的地方,错误随机出现,一旦出现用telnet等一切都连不上IOCP服务端了,错误都是10061 :由于目标机器积极拒绝,无法连接非常郁闷,请指教
解决方案 »
- 有关FTP协议的问题
- 问网上下载了一CSOCKET类写的网络编程演示,(有几个地方始终搞不懂,)
- VC链接时提示找不到动态库的函数.
- QQ登录界面中软键盘是怎么实现的?
- 2个窗口的vc程序,运行时提示:“读取*.exe文件”发生共享违例,怎么解决吖?
- 请教vc编程高手(在线等):一个程序很大,它涉及到好多个不同目录下的文件,关于自己写的头文件的问题
- 请高手将降SDK和MFC德关系
- 一个菜鸟的问题??大家帮个忙!!Thanks!!
- 关于Date Time Picker 控件的问题
- 鼠标抓词的源代码,需要的放马过来
- 大侠们救命呀!!!!刚到新公司就分配到一个超难的问题,关于声卡采集的问题.
- 100个人比赛 抽出8个人一组进行比赛 要使所有的人都在一组进行比赛 也就是说每个人和每个人都碰上面 需要多少组
不发数据,直接用阻塞recv,如果连接断开 就会有返回.这样你就可以立刻知道连接是否正常了.还有,发数据前要做判断连接是否正常.
2。把他的程序结构吃透
3。自己独立逐步搭建类似的程序
4。你也学会了
{
for (DWORD i=0;i < g_dwNum;i++)
_beginthreadex(NULL , 0 , myThread , NULL , 0 , &uThreadID);
}myTest2()
{
for (DWORD i=0;i < g_dwNum;i++)
mySockFun();
}myThread()
{
mySockFun();
}mySockFun()
{
WSAStartup...
connect...
send...
recv...
closesocket...
WSACleanup...
}不论数量多少myTest2所有连接都成功
但是myTest1不行,超过300个线程就有部分连接开始掉线,1000个的成功率80%,10000个的成功率55%
掉线错误为:10061或10054根本达不到 完成端口号称的强大的性能,这是为何
我以前也遇到过这样的情况。你再仔细
看一下,是不是有些资源本应该加锁,
而你没有加呢?