2

我有一个使用 winsock2 的 c++ 程序。我想知道如何判断某人与我的程序的连接何时关闭。

4

2 回答 2

5

使用 select 等待在套接字上读取;当套接字关闭时,winsock 应该将其报告为可读。然后从套接字接收将给您 0 个字节,告诉您套接字已关闭。

于 2009-10-05T21:48:40.613 回答
0
int received_bytes = recv(_socket, buffer, sizeof(buffer)-1,0);
if(received_bytes > 0)
{
   //data received
}
else if (received_bytes == 0)
{
  //connection closed
}

else
{
  //wait for more data
}
于 2013-03-21T15:53:52.163 回答