将网络地址(u_long)转化为点分十进制ip地址
来源:互联网 发布:域名被别人注册成商标 编辑:程序博客网 时间:2024/04/20 17:07
wchar_t *buf = new wchar_t(15);
u_long a = 1955339436;
BYTE *cp = (BYTE *)&a;
(void) swprintf(buf, L"%u.%u.%u.%u", cp[0], cp[1], cp[2], cp[3]);
//获取主机的信息
LPHOSTENT hostEntry;
char hostname[MAX_NUM_BUF];
gethostname(hostname,MAX_NUM_BUF); //获取主机名称
hostEntry = gethostbyname(hostname); //获取主机信息
if(!hostEntry)
{
ShowErrorMsg(); //显示错误信息
return ExitClient(CLIENT_API_ERROR); //退出
}
//设置sockaddr_in
SOCKADDR_IN addrServ;
addrServ.sin_family = AF_INET;
addrServ.sin_addr = *((LPIN_ADDR)*hostEntry->h_addr_list);
addrServ.sin_port = htons(SERVERPORT);
//客户端地址设置
四、几个需要注意的函数
(1)IP地址相关,inet_addr()和inet_ntoa()
用法:inet_addr(“127.0.0.1”);将点分十进制记的IP地址转换成为网络字节序的S_addr类型的IP地址
inet_ntoa(addrClient.sin_addr);将网络字节序的S_addr类型的IP地址转换成为点分十进制记的IP地址
(2)端口号相关,htonl()和htons()
用法:htonl(INADDR_ANY);把一个u_long类型的值从主机字节序转换成为TCP/IP网络字节顺序
htons(6000);把一个u_short类型的值从主机字节序转换成为TCP/IP网络字节顺序
INADDR_ANY这个宏的值就是0,转换之后仍然是0
1 为了标识通信实体中进行通信的进程(应用程序),TCP/IP协议提出了协议端口的概念
2. 端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用和某端口建立连接(binding)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都通过该端口输出
3. 端口用一个整数型标识符来表示,即端口号。端口号跟协议相关,TCP/IP传输层的两个协议TCP和UDP是完全独立的的两个软件模块,因此各自的端口号也相互独立
- 将网络地址(u_long)转化为点分十进制ip地址
- 将十进制ip地址转化为字符串点分十进制ip地址
- 网络地址兼容域名和点分十进制IP地址
- 一个将u_long型的IP地址转化成字符串形式的IP地址方法
- inet_ntoa()网络字节序IP转化为点分十进制IP
- IP地址点分十进制与网络字节序整数的转化
- 将整型ip转为点分十进制
- IP地址点分十进制格式转换为网络字节序二进制以及八进制十六进制输出
- 十进制点分IP转换为32位二进制IP
- 十进制点分IP转换为32位二进制IP
- 点分十进制表示的IP地址解析方法
- 将IP地址转化为一个整数
- 将可用分转化为资源分的地址
- Ip地址与十进制转化
- 点分十进制IP转换
- 某公司面试题:输入点分十进制ip地址 输出字符串ip地址整数
- 指针实现字符串IP地址转化为十进制IP地址输出-c语言
- 将十进制转化为二进制
- Python MD5文件生成码
- 安装win7与ubuntu双系统
- how to use shared Preferences
- 获取相册图片及路径
- [LeetCode] Spiral Matrix II
- 将网络地址(u_long)转化为点分十进制ip地址
- how to use Properties and File to Save Data
- java中的容器类
- Tomcat配置https单向双向认证,iOS加密解密验证,iOS访问HTTPS
- 工厂方法模式(Factory Method)
- 项目管理九大知识体系
- How to Make an Activity Fullscreen
- Jbpm 4 之Myeclipse中 配置开发环境
- c语言中静态成员的使用