网络编程_常用的基本函数介绍——htonl、ntohl、htons、ntohs

2023-11-10

1、htonl函数

将主机的unsigned long值转换成网络字节顺序(32位)(一般主机跟网络上传输的字节顺序是不通的,分大小端),函数返回一个网络字节顺序的数字。

#include “stdafx.h”
#include<stdio.h>
#include<WinSock2.h>
#pragma comment(lib,“ws2_32.lib”)

int _tmain(int argc, _TCHAR* argv[])
{
//u_long a = 0x12345678;
//u_long b = htonl(a);//将主机的unsigned long 转为网络字节顺序(32位)
//u_long b = ntohl(a);//将网络字节顺序(32位)转为主机字节

u_short a = 0x1234;
//u_short b = ntohs(a);//32位
u_short b = htons(a);
printf("%u “,a);
printf(”%x “,a);
printf(”%u “,b);
printf(”%x ",b);

system(“pause”);
return 0;
}

通过转换,本来的字节顺序是1234,转换成网络顺序后成了3412。

作用相反的函数即把网络字节顺序转化成主机序列为ntohl()函数。

记忆这类函数,主要看前面的n和后面的hl。。n代表网络,h代表主机host,l代表long的长度,还有相对应的s代表16位的short

同类的函数:ntohs()、htons() 就是转成short类型的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络编程_常用的基本函数介绍——htonl、ntohl、htons、ntohs 的相关文章

随机推荐

  • 工厂模式有三个Level,你能用Go写到第几层?

    设计模式中的工厂模式是我们编写代码时常用的一种建造型模式 用于创建指定类的实例 在不使用设计模式的时候 我们是怎么创建类的实例的呢 别多想 这个问题没坑 就是我们写代码时直接用 new 关键字 直接创建实例 比如 Java 语言里是通过 n
  • Unet实现眼底图像血管分割(二)

    使用了google colaboratory的免费GPU进行训练 调整了源代码的各个参数 下面是configuration txt文件的解析 data paths 只有在修改了prepare datasets DRIVE py文件之后 才能
  • Axure教程 原型设计工具Axure RP新手入门教程(一):基础

    什么是Auxre RP Axure RP是一种线框图 原型设计 流程图和文档工具 使用Axure RP来创建和设置图表样式 为图表页面和元素添加交互性和注释 并将完成的设计发布到HTML以便通过Web浏览器查看 点击下方图片可观看视频 点击
  • 华为OD-货币单位换算-python版

    题目描述 记账本上记录了若干条多国货币金额 需要转换成人民币 fen 汇总后输出 每行记录一条金额 金额带有货币单位 格式为数字 单位 可能是单独的元 或者单独的分 或者分与元的组合 要求将这些货币全部换算成人民币 fen 后进行汇总 汇总
  • 统信uos操作系统虚拟机安装_【IT之家学院】统一操作系统 UOS 尝鲜记(一):下载&安装...

    近期风头正劲的统一操作系统UOS 由统信软件技术有限公司开发 该公司由国内多家长期从事操作系统研发的核心企业参与筹建 包括中国电子集团 CEC 武汉深之度科技有限公司 南京诚迈科技 中兴新支点 最新消息显示深度科技已成为统信软件全资子公司
  • Ribbon 负载均衡

    介绍 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具 Ribbon是Netflix发布的开源项目 主要功能是提供客户端的软件负载均衡算法和服务调用 Ribbon客户端组件提供一系列完善
  • react后台web端替换高德key之后报错10008

    web端高德地图添加key步骤 2021年12月02日升级之后新申请的key都有安全秘钥 10008的报错原因 https lbs amap com api javascript api guide abc prepare 解决方法 在 文
  • JavaScript(客户端脚本语言)

    js与html结合方式 ECMAScript规范 Function 代表函数 1 JavaScript发展史 1992年 nombas公司 C 最早的客户端脚本语言 专门用于表单验证 后更名为 scriptEarth 网景 scriptli
  • UnityWebRequest图片上传和下载

    上传 IEnumerator UpLoadTexture byte bytes WWWForm form new WWWForm string id Photo DateTime Now ToString yyyy MM dd hh mm
  • IntelliJ IDEA或goland没有 Go SDK选项 显示 no version

    1 首先 保证安装正常 环境变量正常配置 参考 Go语言环境安装及配置 ThrAvicii的博客 CSDN博客 go语言安装 2 在IDEA中安装Go语言支持插件 使用GOLand请忽略此步骤 3 重点 配置SDK 找不到 显示no ver
  • 2023美国大学生数学建模竞赛中文题目发布

    2023年美国大学生数学建模竞赛竞赛将于北京时间 2023年2月17日 早晨6 00点 至 北京时间 2023年2月21日 上午9 00 举行 赛题已发布 请同学们按照要求参赛 预祝同学们获得理想的成绩 Problem A Problem
  • Docker安装与简单操作

    文章目录 Docker安装 1 Docker离线安装 第一步 下载离线安装包 第二步 下载离线安装工具 第三步 将下载好的文件放在一个目录 如 第四步 在linux环境下 创建 docker文件夹 然后拷贝下载好的资源到此目录 如 第五步
  • 程序员由于天天和逻辑打交道,所以在世故的人眼里往往显得过于简单。

    程序员由于天天和逻辑打交道 所以在世故的人眼里往往显得过于简单 近来看组织行为学 发现其中一节列了很多特别的技能 考虑到也许他们对程序员群体很有启示意义 就追加了一点说明 把它放在博客里 相信这对想成为管理者的程序员是有意义的 我个人的观点
  • Go RSA的使用样例

    GenerateRSAKey 是生成公钥和密钥对 RSA Encrypt 是加密方法 RSA Decrypt 是解密方法 运行示例 代码 package main import crypto rand crypto rsa crypto x
  • R语言中将数据框(data.frame)中字符型数据转化为数值型

    as data frame lapply data as numeric
  • 矩阵乘法(C++)

    题目描述 Alice在学线性代数 她觉得线代的计算特别麻烦 于是就来找你 希望你可以给她写一个程序计算两个矩阵的乘积 矩阵乘法介绍 矩阵A是一个N行P列的矩阵 矩阵B是一个K行M列的矩阵 当P K时 A和B可以相乘 仅限于AB BA不一定可
  • JavaWeb笔记---html/css基础学习1

    1 B S软件的结构 JavaSE是属于C S Client Server 结构 B S软件的结构 客户端与服务器端交互 2 网页的组成 内容 表现 行为 1 内容 页面中可以看到的数据 2 表现 内容的展现形式 3 行为 页面中的元素与输
  • Linux查看进程、端口号的各种用法

    1 根据进程名称查看进程号 ps ef grep redis 结果如下 root instance xfl1djr7 ps ef grep redis root 23297 1 0 Jun12 00 01 33 usr bin redis
  • maven仓库快速镜像

    国内连接maven官方的仓库更新依赖库 网速一般很慢 收集一些国内快速的maven仓库镜像以备用 国内OSChina提供的镜像 非常不错
  • 网络编程_常用的基本函数介绍——htonl、ntohl、htons、ntohs

    1 htonl函数 将主机的unsigned long值转换成网络字节顺序 32位 一般主机跟网络上传输的字节顺序是不通的 分大小端 函数返回一个网络字节顺序的数字 include stdafx h include