南汇大学城在线's Archiver

yiwenshengmei 发表于 2007-10-30 19:41

我又来问问题了(.Net问题).

我在写一个接收网络流的方法.
为了不产生粘包,我想严格按照协议来读取.
比如我规定先读取4个字节,然后这4个字节会告诉我后面应该再读多少个字节会是一个完整的包
然后再读4个字节,再根据这4个字节读取后面的一个完整的包
C#有哪些方法可以达到以上这些算法呢?
MSDN中的socket好像没有根据字节数读取的方法
大家能不能给点实际的代码
我本来想通过一系列的方法将数据最终变成流(NetworkStream)
然后用流的一些方法读取会比较方便
但是,这样我就想不通一个问题
网络上不停地会有数据传来,然后被放到socket的缓冲区中
然后我将NetworkStream的一个实例和这个socket关联(即初始化这个NetworkStream的实例的时候将这个socket的对象作为参数传入)
那么是不是这个NetworkSream实际读取的就是这个socket中的缓冲区呢?
我是怕网络上面来了新数据后不会去更新这个NetworkStream的对象
望高手解答我心中的疑惑

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.