用域名获取IP地址或者用IP获取域名

#include<stdio.h>
#include<sys/socket.h>
#include<netdb.h>
int main(int argc,char **aggv)
{
struct hostent *host;
char hostname[]="www.163.com";
char hostname2[]="www.baidu.com";
struct in_addr in;
struct sockaddr_in addr_in;
int h_errno;
char addr[]="202.108.249.216"; if((host=gethostbyname(hostname))!=NULL)
{
memcpy(&addr_in.sin_addr.s_addr,host->h_addr,4);
in.s_addr=addr_in.sin_addr.s_addr;
printf("Domain name : %s \n",hostname);
printf("IP length is: %d \n",host->h_length);
printf("Type : %d \n",host->h_addrtype);
printf("IP : %s \n",inet_ntoa(in)); } if(((host=gethostbyaddr(addr,sizeof(addr),AF_INET)))!=(struct hostnet *)NULL)
{
memcpy(&addr_in.sin_addr.s_addr,host->h_addr,4);
in.s_addr=addr_in.sin_addr.s_addr;
printf("\n---------------------\n");
printf("Domain name : %s \n",hostname);
printf("IP length is: %d \n",host->h_length);
printf("Type : %d \n",host->h_addrtype);
printf("IP : %s \n",inet_ntoa(in));
}
return 0;
}

#include<stdio.h>
#include<netdb.h>
#include<arpa/inet.h>
int main()
{
int i ;
for(i=0;i<6;i++)
printf("%d %s \n",i,hstrerror(i));//捕获错误编号 char cp[]="192.168.0.84";
printf("%ld\n",inet_addr(cp));
//将网络地址转换成整型

struct in_addr ip; ip.s_addr=16885952; printf("%s\n",inet_ntoa(ip));

//将整型转换成网络地址

long local; int port; local=123456; port=1024; printf("net: %d\n",htonl(local));//主机字符顺序与网络字节顺序的转换 printf("net: %d\n",htonl(port)); printf("local: %d\n",ntohl(htonl(local)));
printf("local: %d\n",ntohl(htonl(port))); return 0;}




linux c 网络编程:用域名获取IP地址或者用IP获取域名 网络地址转换成整型 主机字符顺序与网络字节顺序的转换的更多相关文章

  1. 【linux高级程序设计】(第十三章)Linux Socket网络编程基础

    IP地址定义: struct in_addr{ __u32 s_addr; }; in_addr_t  inet_addr (__const char * __cp) :把点分十进制IP地址字符串转换 ...

  2. Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip

    获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include <stdio.h> #in ...

  3. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

  4. Linux C网络编程学习笔记

    Linux C网络编程总结报告 一.Linux C 网络编程知识介绍: 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端:(client) 在网络程序中, ...

  5. 网络编程基础之C/S架构和TCP/IP协议

    一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...

  6. 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2

    BSD Socket网络编程API 创建socket对象 int socket (int __domain, int __type, int __protocol) :成功返回socket文件描述符, ...

  7. Linux查询一台机器的IP地址和其对应的域名

    Linux查询一台机器的IP地址和其对应的域名 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ nslookup > 127.0.0.1 Server: ...

  8. Linux C++ 网络编程学习系列(1)——端口复用实现

    Linux C++ 网络编程学习系列(1)--端口复用实现 源码地址:https://github.com/whuwzp/linuxc/tree/master/portreuse 源码说明: serv ...

  9. 为什么可以Ping通IP地址,但Ping不通域名?

    能否ping通IP地址,与能否解析域名是两回事不能ping通IP地址,说明对方禁止ICMP报文或对方没有开机等解析域名只是将域名翻译成IP地址,不论该IP地址是否能够正常访问 问题是ping域名的时候 ...

随机推荐

  1. 【Luogu】P1419寻找段落(单调队列)

    题目链接 不知为何状态突然奇差无比,按说这题本来应该是水题的,但不仅不会做,还比着题解爆零五次 二分平均值(想到了),单调队列维护最大区间和(想到了但是不会,???为什么我不会???) #includ ...

  2. 最里层的是child元素

    1. 简介A convenience widget that combines common painting, positioning, and sizing widgets. Container在 ...

  3. mybatis的双数据源创建

    一.jdbc中: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://202.108.211.55:3306/app-apm?useUnic ...

  4. FZOJ Problem 2219 StarCraft

                                                                                                        ...

  5. UVa11361 Investigating Div-Sum Property

    数位DP f[位数][自身模k余数][各位数字之和模k余数][当前位是否有上限]=方案数 k<10000,空间不够,如何优化? 不必优化,2^31以内,数字最多只有10位,各位数字之和最多为99 ...

  6. Lua开发环境搭建(Mac OS X)

    1. 安装Rudix Rudix: http://rudix.org curl -O https://raw.githubusercontent.com/rudix-mac/rpm/2015.4/ru ...

  7. iOS11及Xcode9适配问题汇总

    UIScrollView and UITableView的新特性 ScrollView 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers会传 ...

  8. ML | SVM

    What's xxx An SVM model is a representation of the examples as points in space, mapped so that the e ...

  9. 信息收集渠道:文本分享类网站Paste Site

    信息收集渠道:文本分享类网站Paste Site Paste Site是一种专门的文本分享的网站.用户可以将一段文本性质的内容(如代码)上传到网站,然后通过链接分享给其他用户.这一点很类似于现在的优酷 ...

  10. [UOJ#24]【IOI2014】Rail

    #24. [IOI2014]Rail 台湾有一个连接着岛的东.西两岸的庞大的铁路线.这个铁路线包含有 mm 个区段.这些相连的区段以数字 0,…,m−10,…,m−1 为编号,且编号由西端开始.每一个 ...