【发布时间】:2013-01-13 08:44:11
【问题描述】:
如果我们使用 32 位整数来存储 IPv4 地址,那么必须考虑整数的字节顺序。
但是,由于几乎所有平台下都没有内置的 128 位整数类型,因此 IPv6 地址必须存储到字节数组中,所以,我认为字节顺序不再是问题。
我说的对吗?或者有没有对应IPv6的函数htonlXXX?
【问题讨论】:
-
你发送的数据呢?
-
所有数据都可以组织成一个字节流。 IPv6 不关心它发送的数据格式。
-
@xmllmx:因此,IPv4 也不需要它。
-
GCC 为足够多的平台提供了
__int128_t,我认为您的“几乎所有平台下都没有内置 128 位整数类型”的说法是错误的。英特尔也提供了类似的类型。 -
"不同系统下字节顺序可能不同。"准确地说,这不会随着 IPv6 而改变。在相同的场景中,字节排序同样重要。也许地址本身可以以不同的方式处理,但其余数据并没有神奇地变得与字节序无关。