有很多客户端要连接服务器
每个客户端退出时都会触发服务器的FD_CLOSE
但是我在case FD_CLOSE
里面如何判断是哪一个客户端退出了连接呢?
每个客户端有特殊属性,ID
每个客户端退出时都会触发服务器的FD_CLOSE
但是我在case FD_CLOSE
里面如何判断是哪一个客户端退出了连接呢?
每个客户端有特殊属性,ID
解决方案 »
- CTab 响应问题 和 Group的 RADIO Btn 问题??
- 关于bmp转jpg和dib转jpg问题
- 如何获取点击处的frame属性!!!
- winsock下, UDP通信时如何获得Buffer内的字节数
- 利用ODBC连接的Access数据库的问题!Help!!!!!!!!!!!!!!!!!!!!
- 在线等待,DLL传参数的问题
- 我用installshield调用自己写的DLL,返回报错,请大家帮我看看怎么回事?
- vc 中动态设置对话框在任务栏的图标
- 大家请进,谈谈程序中最佳的容错处理和异常处理流程@!
- VC中使用CString,总是提示AppendFormat is not a member of CString...
- 关于NT系列操作系统里的权限问题
- 这段英文不怎么懂~~
每个接入的socket在
void CQqServerDlg::OnSock(WPARAM wParam,LPARAM lParam)
SOCKET sock = (SOCKET)wParam;//这个参数是发生事件的套接口
消息响应后都是这个sock啊
{
Index = WSAWaitForMultipleEvents(EventTotal,EventArray,FALSE,WSA_INFINITE,FALSE);//等待网络事件
Index = Index - WSA_WAIT_EVENT_0;
for(i = Index; i < EventTotal; i++)
{
Index = WSAWaitForMultipleEvents(1, &EventArray[i], TRUE, 100, FALSE);
if ((Index == WSA_WAIT_FAILED) || (Index == WSA_WAIT_TIMEOUT))
{
continue;
}//endif
else
{
Index = i;
WSAEnumNetworkEvents(SocketArray[Index],
EventArray[Index],
&NetWorkEvents);
if (NetWorkEvents.lNetworkEvents & FD_CLOSE)
{
if (NetWorkEvents.iErrorCode[FD_CLOSE_BIT] != 0)
{
printf("FD_CLOSE failed with error %d \n",
NetWorkEvents.iErrorCode[FD_CLOSE_BIT]);
//break;
}//endif
MySockList del;
del.s = SocketArray[Index];
FindList(L, del);
}
}
}
}
看的明白不?