hostent结构介绍

原创 2012年03月26日 13:08:44

struct hostent结构体

这个数据结构是这样的: 
struct    hostent {
    const char    *h_name;    // 地址的正式名称。 
    char    **h_aliases;    //  空字节-地址的预备名称的指针。

    short    h_addrtype;    // 地址类型; 通常是AF_INET。 

    short    h_length;    // 地址的比特长度

    char    **h_addr_list;    //  零字节-主机网络地址指针。网络字节顺序。

   #define    h_addr    h_addr_list[0]    // h_addr 为 h_addr_list中的第一地址。 
};

 

typedef uint32_t in_addr_t;
struct in_addr
{
  in_addr_t s_addr;
};

gethostbyname() 成 功时返回一个指向结构体 hostent 的指针,或者 是个空 (NULL) 指针。


这里是个例子: 
#include <stdio.h>
#include <stdlib.h>
#include <netdb.h>
int main(void) {
    struct hostent *h;
    h = gethostbyname("www.126.com");
    if(h==NULL){
         herror("gethostbyname");
         exit(1);
    }
    printf("%s\n",h->h_name);
    printf("%d\n",h->h_addr);
    struct in_addr *in={h->h_addr};
    printf("%s\n",inet_ntoa(*in));
//    printf("IP Address : %s\n",inet_ntoa(*((struct in_addr *)h->h_addr)));
    return EXIT_SUCCESS;
}
在使用 gethostbyname() 的时候,你不能用perror() 打印错误信息 (因为 errno 没有使用),你应该调用 herror()。
gethostbyname()返回的 struct hostent 数据。

如何打印hostent结构体中的所有数据

问题: hostent是gethostbyname()和gethostbyaddr()都会涉及到的一个结构体。代码如下: struct hostent {   char  *h_name;  ...

struct hostent 结构体与gethostbyname(),gethostbyaddr

1、hostent 数据结构是这样的: struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; c...

域名和网络地址结构体---struct hostent

该结构体定义如下:struct hostent { char *h_name; //主机名,即官方域名 char **h_aliases; //主机所有别名构成的字符串数组,同一I...
  • will130
  • will130
  • 2016年11月30日 21:20
  • 820

【C语言】linux网络编程—hostent结构体,gethostbyname的使用

使用gethostbyname函数获取 hostent 域名结构体 最简单的情况,这里面不包括出错处理,异常等的处理: #include #include #include #include...

关于hostent以及in_addr结构体

在linux网络编程中,gethostbyname函数可以通过域名url直接获得ip地质

数据结构--hostent

hostent是host entry的缩写,该结构记录主机的信息,包括主机名、别名、地址类型、地址长度和地址列表。之所以主机的地址是一个列表的形式,原因是当一个主机有多个网络接口时,自然有多个地址。 ...
  • lindyl
  • lindyl
  • 2013年08月28日 08:46
  • 631

hostent结构体

使用这个东西,首先要包含2个头文件:#include #include struct hostent *gethostbyname(const char *name);这个函数的传入值是域名或者主机...

gethostbyname和struct hostent详解

struct hostent *gethostbyname(const char *name); gethostbyname函数根据域名解析出服务器的ip地址,它返回一个结构体struct host...

hostent

hostent结构体 转载地址:http://www.cppblog.com/fwxjj/archive/2006/11/07/14802.aspx 使用这个东西,首先要包含2个头文件: #...

hostent h_addr_list

struct hostent { char FAR * h_name; /* official name of host */ char ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hostent结构介绍
举报原因:
原因补充:

(最多只允许输入30个字)