【发布时间】:2012-04-17 05:03:23
【问题描述】:
我正在 c#.net 中开发客户端/服务器应用程序。现在我将选择客户端/服务器数据包中使用的通信机制。我想知道,在套接字上发送和接收数据的最佳格式是什么。
Xml 序列化或 二进制序列化(我正在使用 Marshalling,在 http://msdn.microsoft.com/en-us/library/4ca6d5z7.aspx 上演示)
虽然 Xml 序列化会完成这项工作,但正如我们所知,它会更慢。所以我认为二进制编组将是一个不错的选择。但是在这种技术中,我必须为通信中使用的每个单独的数据包创建大量结构。我需要帮助,请建议它是否是在这个场景中使用的唯一最佳方法,或者是否存在一些更好的方法来实现目标。
【问题讨论】:
-
Xml 速度慢一小时一毛钱。你每小时要花一百美元。很难收支平衡。使用 WCF 或 Google 的协议缓冲区。
-
这完全取决于您需要在服务器和客户端之间交换的消息数/秒。如果预计流量永远不会达到非常高的水平,那么我同意@HansPassant