本地字节序与网络字节序的相互转换(IP地址、端口号)

 一般数据在内存中是按照字节存储的,存储的方式分为大端和小端。在不知道对方主机的存储方式的情况下,我们不知道是否需要转换数据的存储方式。因此,TCP/IP协议规定:发送到网络的数据流应采用大端字节序

如果当前主机是大端,那就可以忽略直接发送;否则就需要转化成大端再发送,下面提供了一些网络字节序和主机字节序的转换函数。


目录

1、端口号的网络字节序转换

(1) 本地字节序 => 网络字节序

(2) 网络字节序 => 本地字节序

2、本地IP 与 网络字节序IP 的相互转换


1、端口号的网络字节序转换

h 代表 host,n 表示 network

(1) 本地字节序 => 网络字节序

服务端和客户端通信时要交换地址和端口,即端口和ip地址会被送入网络,port作为主机上的变量,是主机序列,需要转化为网络字节序。

htonl:host to network,由32位本地字节序转换成网络字节序。

htons:host to network,由16位本地字节序转换成网络字节序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值