首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

新人, socket怎么循环接收数据

2012-02-10 
新人, socket如何循环接收数据?新人,socket如何循环接收数据?对方发过来有70000字节现在每次只能收1500字

新人, 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 就是一个包的开始,然后查包的大小......

热点排行