struct hostent
#define h_addr h_addr_list[0] /* 主機的第乙個ip位址*/
struct hostent *gethostbyname(const char *name);
通過主機名 name 獲取 主機ip等資訊。成功返回給定主機名包含的主機名字和位址資訊的 hostent結構體指標。
示例如下:
#include #include #include int main(int argc, char *argv)
struct hostent *ht = gethostbyname(argv[1]);
if( ht )
for(i=0; ; ++i)
}return 0;
}
struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type);
返回對應於給定位址的包含主機名字和位址資訊的hostent結構指標。
addr 指向網路位元組序位址的指標。
len 位址的長度。
type 位址型別。
示例如下:
#include #include #include #define addr_len 4
#define addr_type af_inet
int main(int argc, char *argv)
struct in_addr *addr = (struct in_addr *)malloc(sizeof(struct in_addr));
if ( ! inet_aton(argv[1], addr))
struct hostent *ht = gethostbyaddr(addr, addr_len, addr_type);
if(ht)
for(i = 0; ; ++i)
}else }
return 0;
}
gethostbyname()和gethostbyaddr()函式功能返回的hostent的結構或null指標。
如果出現錯誤。h_errno的變數儲存的錯誤號。
錯誤的可變h_errno的可以具有以下值:
host_not_found
指定的主機是未知的。
no_address或no_data
請求的名稱是有效的,但沒有乙個ip位址。
no_recovery
不可恢復的名稱伺服器發生錯誤。
try_again
乙個臨時錯誤發生在權威網域名稱伺服器。請稍後再試。
Android網路程式設計之通過Post傳遞引數
a 使用map來儲存引數 mapmap new hashmap map.put name onmoso map.put password onmoso.com b 使用defaulthttpclient建立httpclient例項 c 構建httppost d 將由map儲存的引數轉化為鍵值name...
Linux網路程式設計之廣播
1.概念 前面介紹的tcp,udp都是單播方式,即一對一.而廣播是一台主機向區域網內的所有主機傳送資料。這時,同一網段的所有主機都能接收到資料。傳送廣播包的步驟大致如下 1 確定乙個傳送廣播的介面,如eth0 2 確定廣播的位址,通過ioctl函式,請求碼設定為siocgifbrdaddr得到廣播的...
Linux網路程式設計之廣播
1.概念 前面介紹的tcp,udp都是單播方式,即一對一.而廣播是一台主機向區域網內的所有主機傳送資料。這時,同一網段的所有主機都能接收到資料。傳送廣播包的步驟大致如下 1 確定乙個傳送廣播的介面,如eth0 2 確定廣播的位址,通過ioctl函式,請求碼設定為siocgifbrdaddr得到廣播的...