新人, socket如何循环接收数据?
新人, socket如何循环接收数据? 对方发过来有70000 字节 现在每次只能收1500字节。 如何循环接收。 最好有代码 谢谢!
------解决方案--------------------byte[] buff = new byte[1500];
int bytesReceived = 0;
do
{
int n = socket.Receive(buff, 0 , buff.Length, SocketFlags.None);
bytesReceived += n;
}
while(bytesReceived < 70000);
------解决方案-------------------- <?xml version= "1.0 " encoding= "GB2312 " ?>
- <RESPONSE>
<PAGESIZE> 001233 </PAGESIZE>
上边这些不能算是包头, 它们已经是XML 里边的内容了,我说的包头是指在XML只外的.从Socket接受来的原始数据都是Byte,通常的包头都是用Byte的最前几位.
比如: 00 是特征字,代表一个包开始,然后两位 XX 代表整个包的Byte数目, 然后就是正式的XML文件.
接收的时候先查头两个 Byte, 如果是 00 就是一个包的开始,然后查包的大小......