getaddrinfo函数ipv6的应用
来源:互联网 发布:windows ce安装软件 编辑:程序博客网 时间:2024/05/16 19:40
1..通过域名转换为点分十进制ipv6地址
addrinfo转换为sockaddr_in6
2.程序
#include <stdio.h>#include <arpa/inet.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h>#include <string.h>int main(int argc, char **argv){if (argc != 2) {fprintf(stderr, "Usage: %s hostname\n",argv[1]);exit(1); }char ipstr2[128]; struct sockaddr_in6 *sockaddr_ipv6; struct addrinfo *answer, hint, *curr;char ipstr[16]; bzero(&hint, sizeof(hint));hint.ai_family = AF_INET6;hint.ai_socktype = SOCK_STREAM;int ret = getaddrinfo(argv[1], NULL, &hint, &answer);if (ret != 0) {fprintf(stderr,"getaddrinfo: &s\n",gai_strerror(ret));exit(1);}for (curr = answer; curr != NULL; curr = curr->ai_next) {sockaddr_ipv6 = reinterpret_cast<struct sockaddr_in6 *>( curr->ai_addr); inet_ntop(AF_INET6, &sockaddr_ipv6->sin6_addr, ipstr2,sizeof(ipstr2)); //inet_ntop(AF_INET,&(((struct sockaddr_in *)(curr->ai_addr))->sin_addr),ipstr, 16);printf("%s\n", ipstr2);fflush(NULL);}freeaddrinfo(answer);exit(0);}3.运行
./a.out 域名或ipv6地址
参考地址
http://www.ibm.com/developerworks/cn/linux/l-cn-ipv4v6-sockapp/
0 0
- getaddrinfo函数ipv6的应用
- IPv6名称到地址的转换函数getaddrinfo()详解
- IPv6名称到地址的转换函数getaddrinfo()详解
- IPv6名称到地址的转换函数getaddrinfo()详解
- IPv6名称到地址的转换函数getaddrinfo()详解
- IPv6名称到地址的转换函数getaddrinfo()详解
- IPv6名称到地址的转换函数getaddrinfo()详解
- IPv6名称到地址的转换函数getaddrinfo()详解
- IPv6名称到地址的转换函数getaddrinfo()详解
- [zz]IPv6名称到地址的转换函数getaddrinfo()一些使用心得
- 用getaddrinfo()函数,通过主机名获得ipv6和ipv4的地址
- getaddrinfo函数的使用
- getaddrinfo 函数的使用
- getaddrinfo函数的说明
- getaddrinfo, gethostbyname 寻址的函数
- getaddrinfo函数
- getaddrinfo函数
- getaddrinfo函数
- 来自一个react SPA的总结--es6的应用
- Android 设计模式 笔记 - PackageManagerService信息树
- Android文本输入框(EditText)切换密码的显示与隐藏
- 关于runtime的基本认识
- python使用stomp连接activemq
- getaddrinfo函数ipv6的应用
- python 2.7 中文教程-6:模块和包
- Android 综合揭秘 —— 全面剖释 Service 服务
- Anaconda上手教程
- html5中新增的主题元素标签
- 结构体
- hdu:1556
- jQuery 基础教程目录
- Xcode 插件