Soket Unix - Fungsi Alamat IP
Unix menyediakan berbagai panggilan fungsi untuk membantu Anda memanipulasi alamat IP. Fungsi-fungsi ini mengubah alamat Internet antara string ASCII (yang lebih disukai manusia) dan nilai biner urutan byte jaringan (nilai yang disimpan dalam struktur alamat soket).
Tiga panggilan fungsi berikut digunakan untuk pengalamatan IPv4 -
- int inet_aton (const char * strptr, struct in_addr * addrptr)
- in_addr_t inet_addr (const char * strptr)
- char * inet_ntoa (struct in_addr inaddr)
int inet_aton (const char * strptr, struct in_addr * addrptr)
Panggilan fungsi ini mengubah string yang ditentukan dalam notasi titik standar Internet ke alamat jaringan, dan menyimpan alamat dalam struktur yang disediakan. Alamat yang diubah akan berada dalam Network Byte Order (byte diurutkan dari kiri ke kanan). Ia mengembalikan 1 jika string itu valid dan 0 pada kesalahan.
Berikut adalah contoh penggunaan -
#include <arpa/inet.h>
(...)
int retval;
struct in_addr addrptr
memset(&addrptr, '\0', sizeof(addrptr));
retval = inet_aton("68.178.157.132", &addrptr);
(...)
in_addr_t inet_addr (const char * strptr)
Panggilan fungsi ini mengubah string yang ditentukan dalam notasi titik standar Internet menjadi nilai integer yang cocok untuk digunakan sebagai alamat Internet. Alamat yang diubah akan berada dalam Network Byte Order (byte diurutkan dari kiri ke kanan). Ia mengembalikan byte jaringan biner 32-bit memerintahkan alamat IPv4 dan INADDR_NONE pada kesalahan.
Berikut adalah contoh penggunaan -
#include <arpa/inet.h>
(...)
struct sockaddr_in dest;
memset(&dest, '\0', sizeof(dest));
dest.sin_addr.s_addr = inet_addr("68.178.157.132");
(...)
char * inet_ntoa (struct in_addr inaddr)
Panggilan fungsi ini mengubah alamat host Internet yang ditentukan menjadi string dalam notasi titik standar Internet.
Berikut adalah contoh penggunaan -
#include <arpa/inet.h>
(...)
char *ip;
ip = inet_ntoa(dest.sin_addr);
printf("IP Address is: %s\n",ip);
(...)