c#编程,socket Receive 接受时怎么判断包结束

来源:百度知道 编辑:UC知道 时间:2024/06/19 14:06:59
如果用while(count>0){Receive}的话,就会一直等待。
但是这个包不是我自定义的,也不知道大小,怎么判断接收完毕,然后结束监视。
底分不多
帮我解决了的加40分
不行,是未知目标,对方的数据形式,我没办法更改

你看看这样是否可行:
skt.Receive方法会返回一个数值,表明实际收到的数据量,当这个值小于Buffer的总大小时,就认为数据传送完了
Socket skt = null;
//初始化skt
const int BuffSize = 1024;
byte[] buffer =new byte[BuffSize];
int realSize = 0;
while ((realSize = skt.Receive(buffer)) == BuffSize)
{
//保存buff数据
}
//保存buff数据

约定结束消息,