我想知道基于二进制和基于文本的协议有什么不同。我读到二进制协议处理起来更紧凑/更快。这是如何实现的呢?因为你必须发送相同数量的数据?不是吗?
例如,字符串"hello“在二进制格式中的大小有何不同?
发布于 2010-03-03 00:10:53
如果你所做的一切都是在传输文本,那么是的,两者之间的区别并不是很大。但请考虑尝试传输以下内容:
发布于 2010-03-03 01:48:59
文本协议在可读性、易于重新实现和易于调试方面更好。二进制协议更紧凑。
但是,您可以使用像LZO或Zlib这样的库来压缩文本,这几乎与二进制文件一样紧凑(对压缩/解压缩的性能影响很小)。
你可以在这里阅读更多关于这个主题的信息:
http://www.faqs.org/docs/artu/ch05s01.html
发布于 2010-03-03 00:09:39
字符串"hello“本身在大小上没有区别。大小/性能的差异在于序列化引入的附加信息(序列化是程序如何表示要传输的数据,以便一旦数据到达管道的另一端就可以重新构造)。
例如,当使用XML (一种文本序列化方法)在.NET中序列化以下内容时:
string helloWorld = "Hello World!";你可能会得到类似这样的结果(我知道这并不准确):
<helloWorld type="String">Hello World!</helloWorld>而二进制序列化将能够在没有所有额外标记的情况下以二进制原生地表示该数据。
https://stackoverflow.com/questions/2364581
复制相似问题