如果网络上的所有计算机都使用little-endian,我应该转换为网络字节顺序(hton *)吗?

问题描述 投票:3回答:1

我正在编写一个客户端 - 服务器应用程序,它使用UDP在两台Intel x64计算机之间发送数据报。我控制了两侧的硬件并验证了它们使用相同的little-endian架构。

由于我可以确认这两台机器都是小端的,因此在发送数据之前使用hton*函数更改字节顺序是否有任何好处?当然,这会产生非常轻微的性能下降并且没有任何好处?

c sockets networking network-programming
1个回答
1
投票

您的协议始终可以以您不期望的方式使用。例如,该程序可能会被运行在ARM或Sun系统上的人员接收。

由于通过网络发送的值通常应按网络字节顺序排列,因此最好在发送之前转换值。对性能的任何影响都可以忽略不计,并被视为过早优化。

© www.soinside.com 2019 - 2024. All rights reserved.