这在传输大文件时,有一定可能 会提前变 false,导致 数据接收不全,
所以推荐使用 异步方式 BeginRead 来读取,要确认数据是否读取完毕,在发送端 添加封包方法

/// <summary>
    /// 封包
    /// </summary>
    /// <param name="data"></param>
    public byte[] Encode(byte[] data)
    {
        int tmp_len = data.Length+4;
        byte[] tmp_lenData = BitConverter.GetBytes(tmp_len);
        Debug.LogError("tmp_lenData: " + tmp_lenData.Length);
        List<byte> tmp_byte = new List<byte>();
        tmp_byte.AddRange(tmp_lenData);
        tmp_byte.AddRange(data);
        return tmp_byte.ToArray();
    } 

前4个字节是数据的总长度,使用BitConverter.ToInt32(),来获取,

然后就是确认接收数据的长度和数据总长度了。基本就这样。


版权声明:本文为LightHuiHui原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/LightHuiHui/article/details/115346745