关于ntohl,htonl,为什么输出是0啊

C/C++ > C++ 语言 [问题点数:20分,结帖人chenyi3315]
等级
本版专家分:694
结帖率 100%
等级
本版专家分:158
等级
本版专家分:158
等级
本版专家分:20348
勋章
Blank
黄花 2008年8月 C/C++大版内专家分月排行榜第二
2008年7月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2008年6月 C/C++大版内专家分月排行榜第三
等级
本版专家分:20348
勋章
Blank
黄花 2008年8月 C/C++大版内专家分月排行榜第二
2008年7月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2008年6月 C/C++大版内专家分月排行榜第三
等级
本版专家分:694
chenyi3315

等级:

模拟htonlntohl、htons、ntohs函数实现

模拟htonlntohl、htons、ntohs函数实现  2010-04-14 17:25:06| 分类: 网络编程 | 标签: |字号大中小 订阅 From: http://wxxweb.blog.163.com | Author: wxxweb

主机字节序与网络字节序的转换:ntohl()与htonl()

#!/usr/bin/env python #coding=utf-8 import socket def convert_integer(): data=1234 #32-bit print "Original: %s => Long host byte order: %s, Network byte order: %s"\ %(data,socket.ntohl(data),so

socket编程为什么需要htonl(), ntohl(), ntohs(),htons() 函数-------转载

在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()... htonl()--"Host to Network Long" ntohl()--"Network to Host Long" htons()--"Hos...

关于 htonlntohl 的实现

因为需要直接处理一个网络字节序的 32 ...首先是系统函数 htonl ,我在 kernel 源码 netinet/in.h 找到如下定义: # if __BYTE_ORDER == __BIG_ENDIAN /* The host byte order is the same as network byte ord...

主机字节序与网络字节序的转换函数:htonlntohl、htons、ntohs

 在Linux和Windows网络编程时需要用到htons和htonl函数,用来将主机字节顺序转换网络字节顺序。  在Intel机器下,执行以下程序 int main() ...{  printf("%d /n",htons(16));  return 0; } 得到的...

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

htonl函数

C语言socket总结(四)htonl/ntohl/ntohs/ntohs/

ntohl()头文件

ntohl()指的是ntohl函数,是将一个无符号长整形数从网络字节顺序转换主机字节顺序, ntohl()返回一个以主机字节顺序表达的数。     头文件 linux系统 :#include <arpa/inet.h> ...

ntohl()、htonl()函数

ntohl()将一个无符号长整形数从网络字节顺序转换主机字节顺序, ntohl()返回一个以主机字节顺序表达的数。ntohl()返回一个以主机字节顺序表达的数。 htonl()将主机数转换成无符号长整型的网络字节顺序。本函数将...

VC网络编程IP地址格式转换(htonlntohl;inet_addr、 inet_ntoa)

1、htonl ()和ntohl( )u_long PASCAL FAR ntohl (u_long netlong);u_short PASCAL FAR ntohs (u_short netshort);ntohl( )-----网络顺序转换成主机顺序u_long PASCAL FAR htonl (u_long

ntohs, ntohl, htons,htonl的比较和详解

转自http://www.cnblogs.com/myyan/p/5750534.html ntohs =net to host short int 16位 htons=host to ...ntohl =net to host long int 32位 htonl=host to net long int 32位 网络字节顺序NBO(Network Byt

网络字节序转换函数(64位)

在网络编程里,网络字节序是big-endian的,而大部分的PC的系统都是X86处理器系列,X86采用的是little-endian,所以需要将网络数据流转换...hston(unsigned short), hlton(unsigned long) 将本地字节序转换网络字节序

如何处理网络字节序之htonlntohl

htonl ntohl 其实,这两个函数的内部实现是一样的,它首先判断机器是否是大字节序,如果是,则什么都不做,否则就转换一下。(说白了,其实只需要一个函数都是一样的,这样做只不过代码看起来更好理解,即没次...

IP地址格式转换(htonlntohl;inet_addr、inet_ntoa)

1、htonl ()和ntohl( ) u_long PASCAL FAR ntohl (u_long netlong); u_short PASCAL FAR ntohs (u_short netshort); ntohl( )-----网络顺序转换成主机顺序 u_long PASCAL FAR htonl (u_long hostlong); u_short...

htonl、htons头文件

在linux的头文件 #include <arpa/inet.h> 在windows的头文件 #include <windows.h> #pragma comment(lib, "wsock32.lib&...#in

htonll和ntohll函数的实现

由于机器之间存在大小端的问题,所以需要一个统一的标准,那就是网络字节序,目前我们所知道的就是htonl,ntohl, htons,ntohs,这些用的比较多一些,对于long long类型还不知道怎么转换,下面我将给出具体解决办法,...

C++报错集合:undefined reference to `htonl@4'

结果自己写了个简单程序,里面调用了htonl()函数,也加入了头文件#include , 结果碰到一个麻烦,就是编译出错,提示: undefined reference to `htonl@4' 一般说来, undefined reference to ~~~~原因

delphixe下pchar和pansichar的转换

本文转自:http://apps.hi.baidu.com/share/detail/34012983 这是在D7下的代码完全正常: var tem:DWORD; begin tem:= htonl(ntohl(inet_addr(Pchar(edtPing1.T

htonlntohl、htons、ntohs函数实现

typedef unsigned short int uint16; typedef unsigned long int uint32;   // 短整型大小端互换 #define BigLittleSwap16(A) ((((uint16)(A) ... & 0xff00) >> 8) | \  (((ui

C++ htons(), htonl(), ntohs(), ntohl()详解

将多字节整数类型的数据,从主机的字节顺序转化网络字节顺序 #include uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ...

htonl,htons,ntohl,ntohs的详解

htonl,htons,ntohl,ntohs的详解 大小端模式 对于多字节的数值在系统中如何存储取决于各CPU的实现,而高字节部分是存在低地址还是高地址就有不一样的结果了,因此才有大小端两种模式的存在,而命名则是根据起始地址...

关于htons和htonl

我开始的时候认为htons和htonl可以只用htonl代替但是后来发现这个是错误,会导致服务器端和客户端连接不上。 下面就让我们看看他们: htons #include uint16_t htons(uint16_t hostshort);  htons的...

使用宏模拟htonlntohl、htons、ntohs的实现

typedef unsigned short int uint16; typedef unsigned long ... <br />// 短整型大小端互换 #define BigLittleSwap16(A) ((((uint16)(A) & 0xff00) >> 8) | /  (((uint16)(A) & 0x00ff)

htonl(),htons(),ntohl(),ntons()--大小端模式转换函数

htonl(),htons(),ntohl(),ntons()--大小端模式转换函数 不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian)。 大端模式是指高字节数据存放在低地址处,低...

htons、htonlntohl、ntohs的区别与使用

文章目录1、网络编程字节转换2....ntohl =net to host long int 32位 htonl=host to net long int 32位 上面四个函数分别用于从网络字节顺序(net)与主机字节顺序(host)之间的转换; 上面函数用于十六进制之间的转换;

socket中的ntohl() 和ntohs() ,以及htonl()和htons()

print('ntohl is ',socket.ntohl(data),' , ','htonl is ',socket.htonl(data)) print('ntohs is ',socket.ntohs(data),' , ','htons is ',socket.htons(data)) 输出结果: ntohl is ...

ntohl源代码

unsigned long ntohl(unsigned long x) { return (x >> 24) | ((x & 0xff0000) >> 8) | ((x & 0xff00) }

htonl(), ntohl(), htons(), ntohs() 函数具体应用

htons和htonl函数,是用来将主机字节顺序转换网络字节顺序 在进行网络抓包时,抓到的包的数据是网络字节顺序,在进行编程时,要进行主机字节顺序和网络字节顺序间的转换。 例如: (对一软件进行抓包时,写的一...

htonl,htons 和 ntohs相关问题

<br />  htonl函数是一个网络转换的函数,他把不确定的一个32位数字,转换成网络通用的32位数字,即大头在后的方式。 <br />我们一般使用的计算机都是大头在后,也就是高地址在后面的形式。 ...

htonl()函数学习

今天在网上看到一篇关于htonl()函数的解释,感觉有道理,贴过来大家一起学习! htonl就是把本机字节顺序转化网络字节顺序 h---host 本地主机 to 就是to 了 n ---net 网络的意思 l 是 unsigned long 所谓...

相关热词 c# 挂机锁 c# 不能再打开其它表了 c#移除行 c#socket建立通信 c# 拦截socket c#做一个问卷调查 c++结构体转换为c# c# 判断组合键 c# 的类 重写dll c# 五层嵌套 优化