我有两个独立的应用程序 - 一个是客户端(在C#中),一个是服务器(在C++中).他们需要以"结构"的形式交换数据,并且每分钟大约1 MB的数据从服务器发送到客户端.
什么更好用 - XML或我自己的二进制格式?
使用XML:
二进制:
有什么指针吗?我根本不应该考虑二进制吗?对于采取何种方法有点困惑.
如果你有一个合理的网络连接,每分钟1MB的数据是非常小的.
二进制和XML之间还有其他选择 - 其他人类可读的文本序列化格式,例如JSON.
当涉及到二进制,你不要有已经版本问题-技术,如Protocol Buffers的(我有偏见:我为谷歌工作,我已经移植到PB C# )明确设计时考虑了向前和向后兼容性.还有其他二进制格式需要考虑,例如Thrift.
如果你担心性能,你应该真的测量它.我很确定我的手机可以足够快地解析1MB的XML,因为在这种情况下它不会成为问题...基本上可以解决你最关心的问题:
这都是一种平衡行为 - 但你必须决定给予每个因素多少重量.