|
|
1
4
长版本使用32位整数,短版本使用16位整数。只要您在通过网络传输数据之前始终调用*hton**,并在从网络读取数据时调用*ntoh**,数据将按正确的字节顺序排列。
你必须处理的第二个问题是编码。有符号整数是如何表示的?使用符号位?二者互补?同样,当网络上的不同平台使用不同的表示时,您会遇到问题。如果你坚持使用无符号类型,你应该不会有问题。 你在程序中使用什么来表示你的命令完全取决于你。只要确保你很好地定义了你的协议,并在传输和读取数据时遵守它。
|
|
|
2
1
从效率的角度来看,这没有任何区别。#define或enum只是一种赋值方式。..真正的诀窍是如何将价值打包到网络上。
|
|
|
3
1
太棒了
共享如果你想在一个项目上与其他人合作,能够将网络操作描述为纯文本是很好的。如果其他人想开发自己的客户端,他们不需要使用你的头文件或任何东西,他们只需要遵守类似RFC的标准。这对宠物项目没有用,但对于任何可能变得更大的项目来说,考虑这是一件好事。 |
|
4
0
很多现实生活中的协议都是基于文本的,我敢说它们的工作效率很高。例如,HTTP、FTP、SMTP等都是基于文字的。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 2 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 2 年前 |