客户端退出后 服务器直接执行下面了... if (WSAGETSELECTERROR(lParam)) { MessageBox("连接失败~ 请检查服务器之间的链接 请重新运行程序"); //closesocket(wParam); }
WSAEventSelect是可以做到的,1楼说的很对
recv 接受到消息后 可以接受到客户端正常退出消息 。和 模型无关 看看 MSDN recv的说明 If no error occurs, recv returns the number of bytes received. If the connection has been gracefully closed, the return value is zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError.
服务器直接执行下面了...
if (WSAGETSELECTERROR(lParam))
{
MessageBox("连接失败~ 请检查服务器之间的链接 请重新运行程序");
//closesocket(wParam);
}
也只能得到套接字对象
我怎么分辨是谁退出的
怎么得到是那个客户短呢
因为我有一个listbox显示正在连接的客户端IP
大概是这样,可以找找看,具体忘了
但是
SOCKET怎么比较?
试了下 将SOCKET关联到 ADD
但是 无法比较SOCKET