最近做一个网络传输相关的项目,其中涉及到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[