C++ 服务器端的程序recv返回0怎么处理

memset(pThis->pThis->recvBuf, 0, sizeof(pThis->pThis->recvBuf));
int ret = recv(clientSocket, pThis->pThis->recvBuf, 1024, 0);
//pThis->pThis->recvBuf[ret] = '\0';
if (ret <= 0){
DWORD a = GetLastError();
continue;
}
运行一段时间后RET就返回0了,不知道什么原因,客户端没有CLOSESOCKET,急

是按照长连接的方式吗,需要做个脉搏跳动,比如1分钟自动发送一个数据,或者做短连接 每次发送都重新连接再发送数据