我正在尝试将对象图从服务器进程移动到客户端。它有效。至少当客户端和服务器都在我的开发虚拟机上时它可以工作。当我在我的基础机器上运行服务器(开发虚拟机上的客户端)时,它也可以工作。
但是,当我在媒体中心 PC 上运行服务器时,它停止工作。例外是:
二进制流“0”不包含有效的 BinaryHeader。可能的原因是无效的流或序列化和反序列化之间的对象版本更改。
所有三台 PC 都是 x64 Windows 7 机器。我正在使用 TCPClient 和 TCPListener 以及BinaryFormatter
该类来完成繁重的工作。
正在传输的数据是使用标准FileStream
对象从文件中读取的。
如果在客户端我将缓冲区序列化为文件,内容(根据 BeyondCompare)实际上似乎不同?!?
我的对象上的所有字符串属性都在 setter 中进行了 Base64 编码,并在 getter 中进行了解码。
我可以发布代码,但我不确定问题区域在哪里?有任何想法吗?