htons

#include <arpa/inet.h> 
uint16_t htons(uint16_t hostshort); 
htons的功能:
                        将一个无符号短整型数值转换为网络字节序,即大端模式(big-endian)  参数u_short hostshort: 16位无符号整数 返回值:
               TCP / IP网络字节顺序.
htons 是把你机器上的整数转换成“网络字节序”, 网络字节序是 big-endian,也就是整数的高位字节存放在内存的低地址处。 而我们常用的 x86 CPU (intel, AMD) 电脑是 little-endian,也就是整数的低位字节放在内存的低字节处。
举个例子:
                假定你的port是  0x1234,  在网络字节序里 这个port放到内存中就应该显示成  addr addr+1  0x12 0x34  而在x86电脑上,0x1234放到内存中实际是:  addr addr+1  0x34 0x12 htons 的用处就是把实际内存中的整数存放方式调整成“网络字节序”的方式。
 
 

htonl()

  简述:  将主机的无符号长整形数转换成网络字节顺序。 
 #include <arpa/inet.h>  
uint32_t htonl(uint32_t hostlong);  
hostlong:主机字节顺序表达的32位数。  
注释:
    本函数将一个32位数从主机字节顺序转换成网络字节顺序。  
返回值: 
       htonl()返回一个网络字节顺序的值。  
参见: 
     htons()ntohl()ntohs().  

在Linux系统下:  
#include <arpa/inet.h>  
uint32_t htonl(uint32_t hostlong);  
相关函数:  uint16_t htons(uint16_t hostshort);  uint32_t ntohl(uint32_t netlong);  uint16_t ntohs(uint16_t netshort);  网际协议在处理这些多字节整数时,使用大端字节序。  在主机本身就使用大端字节序时,这些函数通常被定义为空宏。

最新文章

  1. 六、通过插件如何创建自己的MEL command
  2. LeetCode - 41. First Missing Positive
  3. 【BZOJ 1791】 [Ioi2008]Island 岛屿
  4. Contest 20140928 密碼破譯 字符串hash
  5. setTimeout 和 setInteval 的区别。
  6. LINUX 笔记-scp命令
  7. Linux修改IP永久生效
  8. python第二篇博客,关于数据类型的详细讲解
  9. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版
  10. SQL kaggle learn : WHERE AND
  11. SDK安装详解以及adb的来源
  12. Myeclipse版本引发的css样式问题:头部自动生成一行代码导致样式引入不成功
  13. loadrunner基础学习笔记八-分析场景
  14. xshell提示必须安装最新的更新
  15. [Oracle,2018-01-11] 导出数据库说明文档
  16. Central Control Over Distributed Routing阅读笔记
  17. linux系统Qt实现简单的任务管理器
  18. php单元测试断言方法
  19. hibernate_Session接口_load_get
  20. nginx简介及优点总结

热门文章

  1. Django框架之ORM(数据库)操作
  2. datagrid 用法
  3. jst格式化日期
  4. Windows:FTP命令大全
  5. Java实验五网络编程与安全
  6. Python学习之:pycharm配置
  7. sql 加密解密函数
  8. zabbix监控使用
  9. Java Swing窗体小工具实例 - 原创
  10. Kubernetes 在知乎上的应用