大家好我正在创建一个非常简单的套接字服务器,它允许客户端通过线路发送基于密钥保存自己的对象状态。我正在使用一个非常简单的协议将序列化对象编码为base64字符串,并将作为我的自定义xml格式的一部分发送出去。我想知道如果客户端应用程序在32位和64位Windows上运行并使用.net Framework,序列化是否仍然相同?如果所有客户端应用程序都是使用c ++创建但在不同平台上运行,那么这也是一样的吗?
答案 0 :(得分:1)
32位和64位CLR之间的序列化应该不是问题,但如果您希望能够在非.NET平台上进行序列化,则不应使用默认的二进制序列化。就个人而言,无论如何我都不会使用它,因为在版本控制等方面处理起来可能很棘手。
还有很多其他序列化选项可供选择:
所有这些都可能在多个平台上更好地运行。有些是人类可读的,有时可能有用。 (协议缓冲区不是人类可读的,但很容易转储协议缓冲区消息的文本版本。)
有些人通过单独的模式有效地构建自己的对象模型,而其他人则会(或多或少地)处理现有的对象模型。