in_addr

in_addr

in_addr是一個結構體,可以用來表示一個32位的IPv4地址。

基本介紹

  • 外文名:in_addr
  • 結構體頭檔案:#include <arpa/inet.h>
  • 結構體樣式:struct in_addr {
  • 代碼中的套用:server.sin_addr=
結構體頭檔案,結構體樣式,IP結構體的使用,代碼中的套用,

結構體頭檔案

#include <arpa/inet.h>

結構體樣式

struct in_addr {    in_addr_t s_addr;};
結構體in_addr 用來表示一個32位的IPv4地址.
in_addr_t 一般為 32位的unsigned int,其位元組順序為網路順序(network byte ordered),即該無符號整數採用大端位元組序。.
其中每8位代表一個IP位址位中的一個數值.
例如192.168.3.144記為0x9003a8c0,其中 c0 為192 ,a8 為 168, 03 為 3 , 90 為 144
列印的時候可以調用inet_ntoa()函式將其轉換為char *類型.

IP結構體的使用

struct in_addr{    union    {        struct        {            u_char s_b1,s_b2,s_b3,s_b4;        } S_un_b; //An IPv4 address formatted as four u_chars.        struct        {            u_short s_w1,s_w2;        } S_un_w; //An IPv4 address formatted as two u_shorts       u_long S_addr;//An IPv4 address formatted as a u_long    } S_un;#define s_addr S_un.S_addr};

代碼中的套用

server.sin_addr=*((in_addr *)he->h_addr);
同時,在Live555的源檔案中出現了以下的使用方法:
struct in_addr const& groupAddress() const { return fGroupAddress; }
struct in_addr destAddr = fDests->fGroupEId.groupAddress();
這裡fDest是一個單向鍊表,groupAddress()為fGroupEId中的方法。

相關詞條

熱門詞條

聯絡我們