![]() |
1
8
有无数的预滚序列化库可以在这里提供帮助。BinaryFormatter在这里有一些(IMO)不受欢迎的特性—特别是它只能在两端使用完全相同的(嗯,差不多)dll。 XmlSerializer、DataContractSerializer和JavaScriptSerializer是很好的基于文本的实现,在兼容的 合同 两端(相同的属性等-不一定是相同的类型/版本)。 如果您有适度的带宽需求,或者需要更好的CPU性能,我建议使用protobuf net(注意:我写了它),这是一个快速的二进制序列化程序,可能会有帮助。 |
![]() |
2
4
如果通信信道的两边都有 确切地 相同的程序集和 完全相同版本的程序集 ,或者以某种方式从程序中引用,或者住在GAC中。
如果您想要一种机制更能容忍版本不匹配,请考虑使用
如果需要压缩格式,可以考虑查看 Google Protocol Buffers . |
![]() |
3
1
如果发送字符串列表(或字符串的dict)是您想要的,那没问题,只需发送字符串列表(或dict)。您的问题是因为您试图发送另一个项目无法识别的数据类型。你甚至不需要更改任何功能,只需要更改发送的内容。或者,您可以从接收数据的程序中引用test1。 |
![]() |
4
0
编写您自己的对象从/到字节转换器,而不是使用BinaryStream应该可以工作。 如果坚持,请将此对象移动到其自己的程序集,并将其添加到两侧作为参考。这样,.NET Framework应该能够反序列化对象。 |
![]() |
mig21 bis · 带套接字的SSL_set_fd地址边界错误 2 年前 |
![]() |
hollow · 在读写C中的套接字时,为什么要使用循环缓冲区? 2 年前 |
![]() |
Filipe · 通过http python发送图像 6 年前 |
|
Mr. Rogers · epoll_wait事件的epoll顺序 6 年前 |
![]() |
Michael Beer · 查找插座的传输类型 6 年前 |