c++: TCP文件传输中的端序差异
C++: Endianness difference within TCP file transfer
我想问一下,当我将字符串从一台计算机传输到另一台具有不同端序的计算机时,我会遇到什么问题。
我正在读取传输到std::deque<char>
的数据,然后将其解析为std::string
。
我可以想象,如果我的计算机是LE(小端序),而另一方面的计算机是BE(大端序),那么我所要做的就是在对它们进行排队和解析之前颠倒字节的顺序。
PDP端序如何?这个问题能解决吗?
或者这整个修复的想法是错误的,因为当我传输一系列1字节的char
s时,端序并不重要?
对于1字节字符来说,这应该无关紧要,除非它们在两边被解释为更宽的整数。
对于更宽的整数,在将值写入网络之前,应该将其转换为网络顺序。接收方将它们从网络转换为主机命令。
通常使用hton/ntoh系列函数。
相关文章:
- 如何从 boost::asio::ssl::stream<boost::asio::ip::tcp::socket> 获取本机套接字文件描述器?
- TCP-Server以数据包结构(非Java客户端)发送文件
- 通过C 中的TCP/IP协议发送.TXT文件
- 可视化 将 TCP 服务器数据包保存到 C++ 中的文件
- 通过TCP在客户端/ C#服务器之间传输文件C++
- TCP/IP文件传输C
- 为什么文件没有通过 tcp 在 C# 中的客户端和 C 中的服务器之间正确传输(保存?)
- 如何确保TCP文件传输完成(c++)
- 如何使用C/C++提取pcap文件的TCP标头中的选项字段
- 使用 pcap 库打开 TCP 转储文件
- 使用boost:asio和select?阻止TCP输入或文件更新
- 使用SFML TCP套接字和数据包破坏文件
- 通过 tcp 和浏览器发送带有 HTTP 协议的 html 文件会显示错误
- 在Qt中通过TCP传输大文件
- 在C++winsock中通过TCP发送大数据(如文件)
- 使用 htonl & htons 进行 TCP 文件传输
- 通过TCP/IP发送文件
- 通过Boost ASIO TCP发送文件,如何流字符数组到套接字
- 通过Tcp套接字发送文件大小
- c++: TCP文件传输中的端序差异