htons htonl ntohl ntohs 的区别和作用
htons、htonl、ntohl、ntohs是用来在网络字节顺序和本机字节顺序之间相互转换的函数。
可以这么理解:
n :network;h :host;s:short;l:long
htons :host to network short型,依次类推。
具体用法为:
htons:
htons( u_short hostshort);
hostshort:主机字节顺序表达的16位数。
注释:
本函数将一个16位数从主机字节顺序转换成网络字节顺序。
返回值:
htons()返回一个网络字节顺序的值。
其余的同理。
struct sockaddr_in servaddr;
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(SERV_PORT);
INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 一般来说,在各个系统中均定义成为0值。
例如MontiVista Linux中在/usr/include/netinet/in.h定义为: /* Address to accept any incoming messages. */ #define INADDR_ANY ((in_addr_t) 0x00000000) 一般情况下,如果你要建立网络服务器应用程序,则你要通知服务器操作系统:请在某地址 xxx.xxx.xxx.xxx上的某端口 yyyy上进行侦听,并且把侦听到的数据包发送给我。这个过程,你是通过bind()系统调用完成的。——也就是说,你的程序要绑定服务器的某地址,或者说:把服务器的某地址上的某端口占为已用。服务器操作系统可以给你这个指定的地址,也可以不给你。 |
SERV_PORT
::::::::::::::: :: SERV_PORT :: ::::::::::::::: (only sysop, init.bcm, only Linux/Win32) Syntax: SER(V_PORT) [<n>] (default: 8123)Defines the port number of the service interface. "0" disables the port. Example: SERV_PORT 0See also HELP PORTNUMBER and HELP SERV
AF_前缀代表地址族 PF_前缀代表协议族
转载于:https://www.cnblogs.com/zhangjing0502/archive/2012/06/26/2564025.html
htons htonl ntohl ntohs 的区别和作用相关推荐
- htonl/htons以及ntohl/ntohs等函数使用说明
htonl/htons以及ntohl/ntohs等函数都是为了解决主机和网络字节序不同而实现的函数,不同的是使用情况不同:htonl/htons用在主机设置相关参数到网络之前,ntohl/ntohs是 ...
- C/C++htonl(), ntohl(), ntohs(),htons()
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题.这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数. 网络字节顺序与本地字节顺序之间的转 ...
- htons() ntohl() ntohs() htons()的区别及详解
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题. 这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数 ...
- htonl ntohl htons ntohs
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题. 这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数 ...
- ntohs, ntohl, htons,htonl的比较和详解
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题. 这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数 ...
- ntohs, ntohl, htons,htonl
ntohs, ntohl, htons,htonl的比较和详解 在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题. 这时就可能用到htons(), ntohl(), ntohs( ...
- ntohl()、htonl()、ntohs()、htons()函数
一 .大端存储和小端存储 1.大端存储:在计算机中,数据是按照字节存储的,多于一个字节的数据,把高字节部分存储在低地址,把低字节部分存储在高地址,这种方式称为大端存储. 例:0x12345678这个数 ...
- ntohl()、htonl()、ntohs()、htons()函数用法
ntohl().htonl().ntohs().htons()这几个函数的作用是进行字节顺序的转换,在理解这几个函数之前,我们先了解一下数据的存储. 一.大端存储和小端存储 1.大端存储:在计算机 ...
- htonl(), ntohl(), htons(), ntohs() 函数
转自:http://www.cnblogs.com/s7vens/archive/2011/12/12/2284892.html 在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题 ...
- Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa)
Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa) htonl() htons() ntohl() ntohs()及inet_n ...
最新文章
- docker strace ptrace 报错 Operation not permitted 解决方法
- 请重新认识你作为程序员的价值
- 干净卸载mysql (注册表)
- LeetCode-剑指 Offer 22. 链表中倒数第k个节点
- python安装失败0x80070570_固态硬盘装win7出现错误代码0x80070570怎么办
- P1083 借教室(差分+二分)
- Next Permutation
- 前端学习(1962)vue之电商管理系统电商系统之渲染商品分类的选择框
- 与自定义词典 分词_使用jieba库进行中文分词、关键词提取、添加自定义的词典进行分词...
- Linux下用户、组、权限操作
- 四、python实现粒子群算法
- 用什么软件可以编辑pdf文件
- C语言结构体,共用体所占字节数计算
- httpwatch使用_使用PHP#2自动化HTTPWatch
- 泰坦尼克号乘客生存预测
- 回顾过去,才能展望未来
- 修改电脑qq的聊天背景
- Java运行乱码,Idea编码设置
- 使用oschina的git服务器
- 机器学习中的数学——Adam(Adaptive Moments)
热门文章
- PHP单元测试PHPUnit
- 带ant 的收发器_ANT无线收发器nRF24AP1及其应用
- OkHttp之BridgeInterceptor简单分析
- 腾讯看点基于 Flink 的实时数仓及多维实时数据分析实践
- webStrom 开始你的第一个React应用
- MediaCodec进行编解码AAC(文件格式转换)
- ijkplayer框架深入剖析
- linux网页视频黑边,ffmpeg去除视频黑边命令
- python terminal_一个简单、易用的Python命令行(terminal)进度条库
- php 修改文件的权限_php修改文件权限