【发布时间】:2015-01-12 11:45:47
【问题描述】:
我正在修复使用套接字通过网络传输一系列字节。我正在使用二进制格式化程序来序列化我希望发送的对象,然后在机器之间传送它们并在到达目的地时反序列化它们。之前有人问过这个问题“如何检测字节流的结束”,但我的困境有点不同。我希望能够通过该网络发送多种类型的对象。我会简单地使用标记或商定的字节序列来传达消息的结尾,但是因为我不知道二进制格式化程序会产生什么,所以我不知道我可以使用什么字符序列是唯一的。如果我决定使用序列 255、128、0、255 来表示一个对象流的结束,我如何确保该序列不会出现在 binaryformatter 输出中?我还能做些什么来表示一个对象的结束和另一个对象的开始?
感谢您的帮助。
【问题讨论】:
-
如果您无法控制消息的内容,则需要消息框架。
-
我知道,我在问我可以用什么来构建我可以保证是独一无二的内容。
标签: c# sockets serialization