位置:海鸟网 > IT > linux/Unix >

Linux操作系统网络编程常用结构体

truct in_addr {

  unsigned long s_addr; // that’s a 32-bit long, or 4 bytes

  };

  view plainprint?

  struct sockaddr {

  unsigned short sa_family; // address family, AF_xxx

  char sa_data[14]; // 14 bytes of protocol address

  };

  view plainprint?

  struct sockaddr_in {

  short int sin_family; // Address family

  unsigned short int sin_port; // Port number

  struct in_addr sin_addr; // Internet address

  unsigned char sin_zero[8]; // Same size as struct sockaddr

  };

  view plainprint?

  #define h_addr h_addr_list[0] /*在h-addr-list中的第一个地址*/

  view plainprint?

  struct hostent {

  char *h_name; /* 主机的官方域名 */

  char **h_aliases; /* 一个以NULL结尾的主机别名数组 */

  int h_addrtype; /* 返回的地址类型,在Internet环境下为AF-INET */

  int h_length; /* 地址的字节长度 */

  char **h_addr_list; /* 一个以0结尾的数组,包含该主机的所有地址*/