我有一个简单的客户端服务器程序,但主要问题是一旦客户端和服务器之间建立连接,如果客户端关闭程序,服务器会重复执行最后一条消息,有时会产生巨大的问题。所以我想要的是,如果我可以调用任何函数来获取 SOCKET 结构的状态,那么如果客户端关闭程序,服务器就会知道停止。我只需要从函数中查找坏套接字的函数。顺便说一句,我正在用 Win32 c 编写这个程序。我试过 if(mySocket==SOCKET_ERROR) 似乎没有用......除非我用错了。我刚开始联网。
if(!sockServer.RecvData( recMessage, STRLEN )){return 0;}
// where
bool Socket::RecvData( char *buffer, int size )
{
int i = recv( mySocket, buffer, size, 0 );
if(!i){return false;}
buffer[i] = '\0';
return true;
} //this isn't working