Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 传输数据时字节顺序的困难?_Sockets_Networking_Network Programming_Byte - Fatal编程技术网

Sockets 传输数据时字节顺序的困难?

Sockets 传输数据时字节顺序的困难?,sockets,networking,network-programming,byte,Sockets,Networking,Network Programming,Byte,谁能解释传输数据时字节顺序的问题? 如何用套接字接口解决这个问题?如果您能提供任何帮助,我将不胜感激。多字节数据(2/4/8字节整数、2/4字节字符串字符等)可以在内存中以小端或大端表示。当在机器之间交换数据时,特别是当它们使用不同的endian体系结构时,必须在传输过程中对数据进行规范化。Socket API具有用于此目的的标准hton…()(主机到网络)和ntoh…()(网络到主机)函数。但是,在准备/接收数据时必须自己调用它们,因为套接字只能看到任意字节,所以不会自动调用它们。更高级别的协

谁能解释传输数据时字节顺序的问题?
如何用套接字接口解决这个问题?如果您能提供任何帮助,我将不胜感激。

多字节数据(2/4/8字节整数、2/4字节字符串字符等)可以在内存中以小端或大端表示。当在机器之间交换数据时,特别是当它们使用不同的endian体系结构时,必须在传输过程中对数据进行规范化。Socket API具有用于此目的的标准
hton…()
(主机到网络)和
ntoh…()
(网络到主机)函数。但是,在准备/接收数据时必须自己调用它们,因为套接字只能看到任意字节,所以不会自动调用它们。更高级别的协议(FTP、TCP、自定义协议等)规定字节代表什么以及它们的行为方式。

什么协议?使用TCP,答案很简单——各个字节以流的方式彼此跟随。只传输字节,因此除了“一个接一个”之外,没有其他字节顺序。