gethostbyname()使用
来源:互联网 发布:c语言中match函数 编辑:程序博客网 时间:2024/06/16 16:11
#include<unistd.h>
#include<stdlib.h>
#include<errno.h>
#include<arpa/inet.h>
#include<netinet/in.h>
#include<string.h>
#include<netdb.h>
int getlocalip(char *ip)
{
char host[100] = {0};
struct hostent *hp;
if (gethostname(host, sizeof(host)) < 0)
return -1;
if ((hp = gethostbyname(host)) == NULL)
return -1;
strcpy(ip, inet_ntoa(*(struct in_addr *)hp->h_addr_list[0]));
return 0;
}
int main(void)
{
char host[100] = {0};
char ip[16] = {0};
int i = 0;
struct hostent *hp;
struct sockaddr_in remote_addr;
if (gethostname(host, sizeof(host)) < 0)
exit(-1);
if ((hp = gethostbyname(host)) == NULL)
exit(-1);
while (hp->h_addr_list[i] != NULL)
{
printf("%s\n", inet_ntoa(*(struct in_addr *)hp->h_addr_list[i]));
i++;
}
getlocalip(ip);
printf("local ip : %s\n" , ip);
remote_addr.sin_addr.s_addr = inet_addr(ip);
printf("1) %d\n" , remote_addr.sin_addr.s_addr);
memcpy(&remote_addr.sin_addr.s_addr, (char*)(hp->h_addr_list[0]), 4);
// memcpy(&remote_addr.sin_addr.s_addr, (char*)(hp->h_addr), 4);
printf("2) %d\n" , remote_addr.sin_addr.s_addr);
return 0;
}
#include<stdlib.h>
#include<errno.h>
#include<arpa/inet.h>
#include<netinet/in.h>
#include<string.h>
#include<netdb.h>
int getlocalip(char *ip)
{
char host[100] = {0};
struct hostent *hp;
if (gethostname(host, sizeof(host)) < 0)
return -1;
if ((hp = gethostbyname(host)) == NULL)
return -1;
strcpy(ip, inet_ntoa(*(struct in_addr *)hp->h_addr_list[0]));
return 0;
}
int main(void)
{
char host[100] = {0};
char ip[16] = {0};
int i = 0;
struct hostent *hp;
struct sockaddr_in remote_addr;
if (gethostname(host, sizeof(host)) < 0)
exit(-1);
if ((hp = gethostbyname(host)) == NULL)
exit(-1);
while (hp->h_addr_list[i] != NULL)
{
printf("%s\n", inet_ntoa(*(struct in_addr *)hp->h_addr_list[i]));
i++;
}
getlocalip(ip);
printf("local ip : %s\n" , ip);
remote_addr.sin_addr.s_addr = inet_addr(ip);
printf("1) %d\n" , remote_addr.sin_addr.s_addr);
memcpy(&remote_addr.sin_addr.s_addr, (char*)(hp->h_addr_list[0]), 4);
// memcpy(&remote_addr.sin_addr.s_addr, (char*)(hp->h_addr), 4);
printf("2) %d\n" , remote_addr.sin_addr.s_addr);
return 0;
}
阅读全文
0 0
- gethostbyname使用
- gethostbyname()使用
- gethostbyname(),gethostbyaddr()的使用
- gethostbyname
- gethostbyname
- gethostbyname
- gethostbyname()
- gethostbyname()
- gethostbyname
- gethostbyname()
- gethostbyname
- gethostbyname()
- gethostbyname
- gethostbyname
- gethostbyname()
- gethostbyname()
- gethostbyname
- gethostbyname
- 按下Backspace键,就会跳转到上一个页面。JavaScript屏蔽Backspace键处理,禁用Backspace键。
- spring 整合 ActiveMQ
- 反射机制
- 实现MERGE操中获取UPDATE行数和INSERT行数
- 伴随Tomcat启动的线程无法启动 Unsopported major.minor version 52.0
- gethostbyname()使用
- springboot 入门
- C语言中,打印数据类型的取值范围l的两种方法
- HttpURLConnection无法打开含有中文的链接
- JAVA8 十大新特性详解
- CSRF 攻击简记
- 《Node.js区块链开发》一导读
- 基于友善Nanopi2 移植 Ubuntu-base-14.04系统
- PostMan