我正在使用c#.net开发客户端/服务器应用程序。现在我将选择在客户端/服务器数据包中使用的通信机制。我想知道,在套接字上发送和接收数据的最佳格式是什么。
Xml序列化或 二进制序列化(我使用编组,在http://msdn.microsoft.com/en-us/library/4ca6d5z7.aspx演示)
虽然Xml序列化将完成工作,但正如我们所知,它会更慢。所以我认为二元编组将是一个不错的选择。但是在这种技术中,我必须为我在通信中使用的每个数据包创建许多结构。我需要帮助,请建议它是否是在这个场景中使用的唯一最佳方式,或者存在一些更好的方法来实现目标。
答案 0 :(得分:0)
除非Xml序列化能够适合一帧(1480字节),否则二进制编组将发送更少的IP数据包。是的,您必须为您的数据包定义结构。
我建议您为所有数据包类型定义公共数据包标头的结构,其中包括数据包中的字节数。如果您有不同的数据包类型,则可能还会在通用标头中包含数据包类型。