Windows网络编程基础第4讲 传送—2TCP的流传输控制.ppt

Windows网络编程基础第4讲 传送—2TCP的流传输控制.ppt

3、合理处理流数据的接收 3.2接收定长数据 模拟定长数据包的形态处理底层提交的字节流数据。 预先给定了接收数据的总长度 增加接收总长度的判断 int recvn(SOCKET s, char * recvbuf, unsigned int fixedlen) { int iResult; //存储单次recv操作的返回值 int cnt; //用于统计相对于固定长度,剩余多少字节尚未接收 cnt = fixedlen; while ( cnt 0 ) { iResult = recv(s, recvbuf, cnt, 0); if ( iResult 0 ){ //数据接收出现错误,返回失败 printf(接收发生错误: %d\n, WSAGetLastError()); return -1; } if ( iResult == 0 ){ //对方关闭连接,返回已接收到的小于fixedlen的字节数 printf(连接关闭\n); return fixedlen - cnt; } //p

文档评论(0)

1亿VIP精品文档

相关文档