C#NetworkStream Read Write问题

本文探讨了在C#中使用NetworkStream进行数据读写时可能遇到的问题。重点指出,当发送的数据过长时,Read方法可能会导致接收端接收到的数据不完整,从而引发解析错误。
摘要由CSDN通过智能技术生成

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值