C/S,其中服务端是标准C完成的,先发送16位的数据头和4位的长度(表示后面将要发送的数据的真正长度),接着发送真正数据;
客户端用Qt完成,现在问题是:Qt客户端接收到的数据只有前20位,也就是数据头和表示数据长度的4位,而且收到的都是正确的,但是后面就没有数据了,而能确定的是,服务端所有数据都发送出来了,因为有一个MFC的客户端能收到所有的数据,请问大家,这是什么原因呢?Qt中读取的代码是这样的:tcpClient->read(buf, 16);//这步能读到16位数据头,经过验证也是正确的
tcpClient->read(buf, 4);//这步能读到4位的数据长度,验证也是正确的
tcpClient->read(buf, len);//len就是上一步得到的数据长度,但是这次的buf里就没有数据了。。。