【发布时间】:2021-03-22 18:00:00
【问题描述】:
我有一个位图,我使用 BinaryFormatter 和 MemoryStream 将其转换为字节,然后将字节发送到 TCP 服务器,当我尝试将其转换回 BitMap我收到此错误 System.Runtime.Serialization.SerializationException: End of Stream encountered before parsing was completed. 我试过了将位图转换为字节,然后在客户端将字节转换为位图只是为了检查错误是否是由于转换引起的,但一切正常。所以我认为问题是服务器正在接收数组字节而不是1个大数组,所以我的问题是如何检查字节数组是否已完全发送?
【问题讨论】:
-
确保发送的字节数等于接收的字节数。您应该在 TCP 消息的开头发送一个字节数,然后在接收端读取,直到达到字节数。此外,显卡可能不支持图像类型。所以测试并确保你可以在接收端打开图像。