当前位置: 首页 > news >正文

网络编程接口htonl学习

1、概述

如果有人问这3个问题,你会怎么回答呢?,建议读者可以自己先想1分钟。

1、htonl作用是什么
2、客户端/服务端通信一定要用 htonl 么
3、自己编码实现下htonl

2、回复

2.1、htonl作用是什么
把一个无符号的32位整数从主机序转为网络字节序(大端模式)

2.2、客户端/服务端通信一定要用 htonl 么

不一定,若收发数据的俩端,使用相同字节序,则可以不用htonl。实际代码中建议使用,如果不使用,小端机器发送的数据,大端序机器解析会乱码或报错。

2.3、自己编码实现下htonl

uint32_t Myhtol(uint32_t host_long)
{union{int value;char c[4];} v;v.value = 0x12345678;if (v.c[0] == 0x78){// 小端模式:将主机序转成大端序return (host_long >> 24) & 0x000000FF |(host_long >> 8) & 0x0000FF00 |(host_long << 24) & 0xFF000000 |(host_long << 8) & 0x00FF0000;}// 大端模式return host_long;
}

2.4、实际内存数据

小端序

大端序

http://www.lryc.cn/news/602600.html

相关文章:

  • CMakelists.txt 实现多级目录编译
  • 星辰大海的征途:星宸科技的中国芯片突围战
  • GaussianMesh运行指南
  • MySQL的常用数据类型详解
  • 飞算科技重磅出品:飞算 JavaAI 重构 Java 开发效率新标杆
  • 塔能科技物联运维平台及城市照明市场竞争力分析
  • kruscal重构树
  • 【Java EE】多线程-初阶-线程的状态
  • Ettus USRP X410/X440 运行 ADC 自校准
  • ubuntu qt环境下出现No suitable kits found解决方案
  • 2025最新Mybatis-plus教程(三)
  • 目前市面上有Android 16KB的手机吗
  • 【Bluedroid】bta_av_sink_media_callback(BTA_AV_SINK_MEDIA_CFG_EVT)流程源码分析
  • OSPF路由协议(上)
  • Linux驱动22 --- RV1126 环境搭建设备树修改
  • 【Linux篇】进程间通信:进程IPC
  • java每日精进 7.28【流程设计6.0(泳池和泳道)】
  • 重生之我在暑假学习微服务第三天《Docker-上篇》
  • 采用黑翅鸢优化算法BKA-CNN-LSTM、CNN-LSTM、LSTM、CNN四模型多变量回归预测,多输入单输出(Matlab)
  • 轻资产革命:连合直租如何用DaaS模式重塑企业资产逻辑
  • 【Apache Tomcat】
  • 设计模式实战:自定义SpringIOC(理论分析)
  • 中国汽车能源消耗量(2010-2024年)
  • 力扣17:电话号码的字母组合
  • 设计模式(二十四)行为型:访问者模式详解
  • ADB+Python控制(有线/无线) Scrcpy+按键映射(推荐)
  • 【学习笔记】AD7708/18(1)-理解官网的参考代码
  • MacBook IOS操作系统格式化U盘FAT32
  • 【深度解析】R语言与作物模型(以DSSAT模型为例)融合应用
  • 分布式微服务--核心组件与架构关系(一)