while(1)
{ if(Total>=3) // 因为超出了最大客户端
{
AfxMessageBox("已达到最大连接数!");
pServerListenThread->SuspendThread();
continue;
} SOCKET sockTemp = accept(pServer->socketListen,(SOCKADDR*)&ClientAddr,&addr_length);
//当第三个客户端连接成功后接着while,首先弹出box提示,然后挂起线程,但是我发现客户 还 是可以连接的,假设4,5,6个客户端又发起连接,但是线程不会执行到accept,当有1,2,3客户端断 开时,线程好像还记着4,5,6客户端曾经想连接过,紧接着accept他们.我觉得既然挂起,就应该对超出的客户端置之不理,就算1,2,3断开后,也不应该accept 4,5,6.高手分析一下阿,难道挂起的线程还惦记着4,5,6客户端
}
{ if(Total>=3) // 因为超出了最大客户端
{
AfxMessageBox("已达到最大连接数!");
pServerListenThread->SuspendThread();
continue;
} SOCKET sockTemp = accept(pServer->socketListen,(SOCKADDR*)&ClientAddr,&addr_length);
//当第三个客户端连接成功后接着while,首先弹出box提示,然后挂起线程,但是我发现客户 还 是可以连接的,假设4,5,6个客户端又发起连接,但是线程不会执行到accept,当有1,2,3客户端断 开时,线程好像还记着4,5,6客户端曾经想连接过,紧接着accept他们.我觉得既然挂起,就应该对超出的客户端置之不理,就算1,2,3断开后,也不应该accept 4,5,6.高手分析一下阿,难道挂起的线程还惦记着4,5,6客户端
}
解决方案 »
- 如何快速存取大数组
- 一个窗口的产生过程,编译过了但是产生不了窗口,求大牛指教,
- IViewObject::Draw怎么用啊?
- 如何设计读取和修改BMP位图文件? 急!!
- 多线程的作用
- server端接受不到client端传来的字符,高分求解
- 怎么样在自己开发控件里面调用别人程序里面一个控件的方法?
- 怎样得到当前路径,即可执行文件本身的路径??
- CDHtmlDialog的方法Navigate lpszURL被截断
- 用VC++6.0做学生选课系统,是否有源程序,或类似程序,请告诉我,本人急用!感激不尽!!
- 求救,构造一种新的整数类型MEGA_INTEGER
- 如何判断一个服务进程是否已经死掉?如果死掉,怎样让它重新启动起来?
操作系统就接管了连接池
你无论是否ACCEPT,系统都将由IP层负责三次握手
通过了三次握手后进行等待队列
和你挂不挂没有关系,因为这个队列是操作系统负责的