网络字节序和本机字节序的思考
来源:互联网 发布:汉诺塔算法内部流程 编辑:程序博客网 时间:2024/06/05 05:04
看下面一段程序:
#include <stdio.h>#include <arpa/inet.h>int main(int argc, char* argv[]){struct in_addr m;//2237180096m.s_addr=0x8558a8c0;//133 88 168 192printf("%u\n", m.s_addr );printf("%s\n", inet_ntoa(m));unsigned short t=0x0908; //2312printf("%hu\n",t);unsigned short s=ntohs(t);printf("%hu\n",s);return 0;}
输出结果:
首先s_addr是unsigned int类型,使用inet_ntoa转换时先判断本机的字节序位网络字节序(假如本地字节序是大端存储,就不用转),就是0x8558a8c0修改成0xc0a85885,每一个字节对应ipv4的一个段,如下:
c0 a8 58 85
192 168 88 133
ntohs不检查参数的字节序,只检查本地字节序是否和网络字节序一致。
ntohs()函数会先判断本地字节序,如果是小端存储(和大端字节序相反),就进行转换;如果是大端字节序就不进行转换。
阅读全文
0 0
- 网络字节序和本机字节序的思考
- 网络字节序问题的思考
- 本机字节序转网络字节序的一种实现
- 网络字节顺序和本机字节顺序小谈
- 本机字节顺序与网络字节顺序的转换
- 字节序和网络字节序
- 字节序和网络字节序
- 网络字节序和主机字节序
- 网络字节序和主机字节序
- 网络字节序和主机字节序
- 网络字节序和主机字节序
- 网络字节序和主机字节序
- 字节序和网络字节序
- 网络字节序和主机字节序
- 主机字节序和网络字节序
- 网络字节序和主机字节序
- 字节序和网络字节序( 转载)
- 字节序和网络字节序
- 信号中断 与 慢系统调用
- Spring-boot 配置Aop获取controller里的request中的参数以及其返回值
- 使用layui日期控件laydate对开始和结束时间进行联动控制
- canvas的绘图2
- spring整合quartz配置模板
- 网络字节序和本机字节序的思考
- ci 的routes里可以自定义路由内容
- TCP拥塞控制
- java charToByte
- SQLite Expert Professional(SQLite数据库管理工具)官方正式版32位V5.2.2.267下载 | sqlite expert professional破解版
- 思科VPN报错440,Driver failure的解决方法
- C/C++中extern关键字详解
- HDOU2139 Calculate the formula
- 递归计算