更新 src/Netra.cpp

This commit is contained in:
2025-10-15 12:53:16 +08:00
parent 034ba6f1eb
commit 154cbc868a

View File

@@ -185,6 +185,21 @@ namespace QCL
}
}
bool TcpServer::isClientDisconnected(int clientSock)
{
char tmp;
ssize_t n = recv(clientSock, &tmp, 1, MSG_PEEK | MSG_DONTWAIT);
if (n == 0)
return true; // 对端有序关闭
if (n < 0)
{
if (errno == EAGAIN || errno == EWOULDBLOCK)
return false; // 只是暂时无数据
return true; // 其它错误视为断开
}
return false; // 有数据可读
}
/**
* @brief 获取当前所有客户端Socket副本线程安全
* @return 包含所有客户端socket的vector副本