C#NetworkStream Read Write问题
来源:互联网 发布:仁以为己任 不亦重乎 编辑:程序博客网 时间:2024/05/17 01:31
最近做一个网络传输相关的项目,其中涉及到NetworkStream,但是遇到了一些问题,写下来以供后来人参考,免走弯路。
1、NetworkStream Write
NetworkStream netStream;byte[] data = new byte[dataLength];netStream.Write(data, 0, dataLength);
其中,data是要发送的数据,dataLength是该数据的长度,如果发送数据过长,那么接收端在用Read方法进行读取的时候,会出现数据读取不完整的问题。
2、NetworkStream Read
NetworkStream netStream;byte[] data = new byte[dataLength];netStream.Read(data, 0, dataLength);
采用上面的方法读取发送的发送的较大数据时,data里面的数据往往只是一部分数据,不能完整接收,应该采用以下方法读取数据:
internal byte[] ReceiveByteArray(NetworkStream stream) { try { int bufferlen = GetSize(stream); byte[] resultbyte = new byte[bufferlen]; int offset = 0, bytesread = 0; while (offset < bufferlen) { bytesread = stream.Read(resultbyte, offset, bufferlen - offset); if (bytesread == 0) throw new Exception("网络异常断开,数据读取不完整。"); else offset += bytesread; } return resultbyte; } catch (Exception) { throw; } }
以上只是一个参考,有什么不对的地方,请各位指出。
- C#NetworkStream Read Write问题
- NetworkStream.Read
- [C#] NetworkStream.Write()存在严重bug
- 关于c#中networkstream.read 方法的问题
- c# NetworkStream.Write工作机制
- LINUX C中read,write
- C#编程:NetworkStream类的Read
- [CodeProject C#]Read/Write Config files
- Linux -C 的read 和 write函数
- Linux -C 的read 和 write函数
- pure C read write bmp file
- linux c中write、read的用法
- c语言中的read和write函数
- C语言中的Read和Write函数
- c语言中的read和write函数
- c/c++ read 函数和 write 函数
- Linux 文件 open,creat,write,read (C)
- C language : write/read for file
- C语言常见错误(一)
- __declspec,uuid,__uuidof 使用说明
- linux的shell脚本入门
- 使用MVC4,Ninject,EF,Moq,构建一个真实的应用电子商务SportsStore
- java高级进阶关于java多线程的应用 ThreadLocal多线程实例详解
- C#NetworkStream Read Write问题
- 关于f(n)=n的几种算法
- Growing diary 1
- 具体实例汇总android
- myeclipse 序列号
- URI记录
- linux下批量替换文件内容
- 电影记忆之21(致命ID)
- 防止DC电源反接的方法