萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux操作系統下的網絡地址轉換函數介紹

Linux操作系統下的網絡地址轉換函數介紹

class="20898">

  在socket編程時,會出現指定了ip,端口號,卻連不上,這是因為網絡地址跟本地主機地址的字符順序不一樣導致的。 在linux下提供了一些操作函數,如下:

   unsigned long int htonl(unsigned long int hostlong); 用來將參數指定的32位hostlong 轉換成網絡字符順序。

   unsigned short int htons(unsigned short int hostshort); 用來將參數指定的16位hostshort轉換成網絡字符順序。

   unsigned long int inet_addr(const char *cp); 用來將參數cp所指的網絡地址字符串轉換成網絡所使用的二進制數字。

  網絡地址字符串是以數字和點組成的字符串,例如:“163.13.132.68。

   int inet_aton(const char * cp,struct in_addr *inp); 用來將參數cp所指的網絡地址字符串轉換成網絡使用的二進制的數字,然後存於參數inp所指的in_addr結構中。

   char * inet_ntoa(struct in_addr in); 用來將參數in所指的網絡二進制的數字轉換成網絡地址,然後將指向此網絡地址字符串的指針返回。

  unsigned long inet_network(const char *addr); 這個函數需要一個在參數addr中包含一個點分隔的地址輸入字符串。

copyright © 萬盛學電腦網 all rights reserved