c++: TCP文件传输中的端序差异

C++: Endianness difference within TCP file transfer

本文关键字:TCP 文件 传输 c++      更新时间:2023-10-16

我想问一下,当我将字符串从一台计算机传输到另一台具有不同端序的计算机时,我会遇到什么问题。

我正在读取传输到std::deque<char>的数据,然后将其解析为std::string

我可以想象,如果我的计算机是LE(小端序),而另一方面的计算机是BE(大端序),那么我所要做的就是在对它们进行排队和解析之前颠倒字节的顺序。

PDP端序如何?这个问题能解决吗?

或者这整个修复的想法是错误的,因为当我传输一系列1字节的char s时,端序并不重要?

对于1字节字符来说,这应该无关紧要,除非它们在两边被解释为更宽的整数。

对于更宽的整数,在将值写入网络之前,应该将其转换为网络顺序。接收方将它们从网络转换为主机命令。

通常使用hton/ntoh系列函数。