简单的socket接收问题
环境:VS2008 MFC 单文档 Formview
问题:我使用socket连接2台仪器进行tcp通讯,对方做服务器端,我这是客户端。通讯过程中如果对方关掉closesocket(),我这边为什么检测不到?
ret = send(m_sock, sdata0, 5, 0); //发送数据 if(ret <= 0) { ret = WSAGetLastError(); TcpError(ret); return; } rrlen = 0; memset(m_tcpRcvData, 0, TCP_READ_DATA_LENGTH); while(rrlen < TCP_READ_DATA_LENGTH) { int rlen = recv(m_sock, m_tcpRcvData + rrlen, TCP_READ_DATA_LENGTH - rrlen, 0); //接收通道数据 if(rlen < 0) break; rrlen += rlen; ret = WSAGetLastError(); if(ret < 0) { TcpError(ret); return; } }