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 数据。

struct hostent结构体使用

结构体定义: struct hostent { char *h_name; //正式主机名 char **h_aliases; //主机别名 int h_ad...
  • wynter_
  • wynter_
  • 2016-09-13 21:23:02
  • 4987

gethostbyname和struct hostent详解

struct hostent *gethostbyname(const char *name); gethostbyname函数根据域名解析出服务器的ip地址,它返回一个结构体struct host...
  • hya123456hya
  • hya123456hya
  • 2014-09-11 09:43:03
  • 1025

病毒分析。

病毒分析
  • aap159951
  • aap159951
  • 2016-11-14 11:08:09
  • 1675

hostent 和in_addr结构

   今天在要获取主机IP地址时,大概步骤记得是调用gethostname() 和gethostbyname(),但是当用gethostbyname得到hostent这个结构的一个指针时,却不知道该咋...
  • fengbangyue
  • fengbangyue
  • 2010-06-07 22:48:00
  • 3773

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

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

gethostbyname()函数详解

基本概念: gethostname()函数主要作用:用域名或者主机名获取地址,操作系统提供的库函数 函数原型: GETHOSTBYNAME(3) Linux Programme...
  • daiyudong2020
  • daiyudong2020
  • 2016-07-18 22:32:34
  • 3968

struct-hostent *gethostbyname(const char *name)详解

struct hostent *gethostbyname(const char *name); gethostbyname函数根据域名解析出服务器的ip地址,它返回一个结构体struct ho...
  • caoyaobin
  • caoyaobin
  • 2015-03-08 12:51:21
  • 332

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

问题: hostent是gethostbyname()和gethostbyaddr()都会涉及到的一个结构体。代码如下: struct hostent {   char  *h_name;  ...
  • David_xtd
  • David_xtd
  • 2012-09-03 11:07:22
  • 3554

gethostbyname的返回值类型struct hostent

这个数据结构是这样的:     struct hostent {     char *h_name;     char **h_aliases;     int h_addrtype;   ...
  • wangjie5540
  • wangjie5540
  • 2014-04-11 10:47:29
  • 920

第一个网络程序---hostent

在windock api 中,用gethostbyname()和 wsaasyncGetHostByName()函数实现主机名称解析,用gethostbyaddr() 和wsaasyncGetHost...
  • qq_34977392
  • qq_34977392
  • 2017-09-08 21:07:56
  • 79
收藏助手
不良信息举报
您举报文章:hostent结构介绍
举报原因:
原因补充:

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