社区
网络及通讯开发
帖子详情
网络编程时,为什么只需要ip和port需要转换字节序,发送的数据不需要?
int_a_0
2016-04-16 08:12:24
网络编程时,为什么只需要ip和port需要转换字节序,发送的数据不需要?如果客户端是小端,服务器是大端,是否会有问题?
...全文
627
3
打赏
收藏
网络编程时,为什么只需要ip和port需要转换字节序,发送的数据不需要?
网络编程时,为什么只需要ip和port需要转换字节序,发送的数据不需要?如果客户端是小端,服务器是大端,是否会有问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
日立奔腾浪潮微软松下联想
2016-04-25
打赏
举报
回复
网络字节序永远是大端字节序。 应用层数据是否需要转换,取决于双方的约定。
土著巫师
2016-04-25
打赏
举报
回复
1、只要在异构平台上传输数据都要进行大小端转换,唯一例外传输单字节字符/串不需要转换; 2、通讯中如何转换取决于实现本身,程序员实现统一大转小也可以,小转大也可以,服务端和客户端匹配上就行; 3、一般设定一个服务器平台,比如WINDOWS平台(在这个平台上的short、int这些数据类型不转换直接发送),而针对不同于WINDOWS平台的异构平台,比如LINUX,对接收到数据或发送的数据统一转换成WINDOWS平台可识别的格式。当然你也可以网上找一些三方开源库,里面有一些代码通过宏定义进行大小端转换。
int_a_0
2016-04-16
打赏
举报
回复
再追加几点疑问: 1、如果客户端是小端,服务器是大端,那么我发送数据(不是端口和ip)到服务器之前,是否要转换数据的字节序,如果不需要,是底层帮我们自动转换了还是本身就不需要转换? 2、如果服务器是大端的,客户端可能是大小端,那么服务器发送前要转成大端还是小端? 3、如果要自己编写服务器客户端程序,且两端都需要适应大小端的不同机器,应该怎么处理?
浅谈 Linux
网络编程
- 网络
字节序
本文介绍了在
网络编程
中,本地
数据
与网络
数据
字节序
的区别,以及inet_pton和inet_ntop函数在
IP
地址
转换
和整数
字节序
转换
中的作用。同
时
解释了htonl和htons用于整数
字节序
转换
的场景。
socket编程 -- 网络
字节序
、
IP
地址
转换
、sockaddr
数据
结构
本文介绍了网络
字节序
的概念,指出TCP/
IP
协议规定网络
数据
流采用大端
字节序
,并讨论了主机
字节序
在不同平台上的
转换
。此外,还详细讲解了
IP
地址
转换
函数,包括早期和新版本的功能。最后,讨论了sockaddr
数据
结构在
IP
v4、
IP
v6及UNIX Domain Socket中的应用,强调其在兼容性与类型判断中的重要作用。
sockaddr_in与sockaddr的区别,以及对网络
字节序
和主机
字节序
的理解和
转换
函数
本文介绍了sockaddr和sockaddr_in两种套接字地址结构的区别与联系,详细解释了它们在
网络编程
中的应用,包括如何使用网络
字节序
与主机
字节序
转换
函数及
IP
地址处理函数。
【Linux】socket地址、
IP
地址、
Port
端口
转换
本文详细介绍了通用和专用的socket地址结构,包括struct sockaddr和struct sockaddr_storage,以及UNIX本地域和TCP/
IP
协议族的地址结构体。此外,还讲解了
IP
地址
转换
函数inet_addr、inet_aton和inet_ntoa的使用,以及端口
转换
函数htons和ntohs的应用。这些函数在处理网络通信
时
用于地址和端口的
转换
。
linux
网络编程
中端口号和
ip
地址
转换
方法
本文详细讲解了网络
字节序
的概念,如何在socket编程中正确处理端口号(字符串转整型、htons),以及
IP
地址的
转换
(inet_pton、inet_addr、inet_aton等函数的使用)。重点介绍了端口和
IP
地址在网络通信中的大端序存储和
转换
技巧。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章