Dhoto-JaringanKomputer1 (1)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Untuk menggunakan struktur tersebut diperlukan 1 lagi struktur yaitu sockadd_in dimana arti<br />
“in” adalah internet<br />
struct sockaddr_in {<br />
short int sin_family; // Address family<br />
unsigned short int sin_port; // Port number<br />
struct in_addr sin_addr; // Internet address<br />
unsigned char sin_zero[8]; // Same size as struct sockaddr<br />
};<br />
Dengan struktur ini maka programmer akan dengan mudah mengontrol data. Pada bagian<br />
sin_zero digunakan sebagai pelengkap dimana harus diset dengan nilai 0, hal tersebut<br />
dapat digunakan fungsi memset().<br />
Untuk menggunakan alamat IP perlu juga sebuah variabel struktur yaitu struktur in_addr,<br />
dimana struktur in_addr adalah sebagai berikut :<br />
// Internet address (a structure for historical reasons)<br />
struct in_addr {<br />
unsigned long s_addr; // that’s a 32-bit long, or 4 bytes<br />
};<br />
Sehingga untuk penggunanya dapat dilakukan dengan cara, membuat sebuah variable contoh<br />
ina dan bertipe struct sockaddr_in maka ina.sin_addr.s_addr dapat digunakan sebagai objek<br />
untuk alamat IP.<br />
8.2.1.1 Perubahan variable<br />
Perubahan awal yang dapat digunakan adalah perubahan dari short (2 byte) menjadi long (4<br />
byte). Kemudian perubahan lainnya adalah perubahan dari host menjadi network. Sehingga<br />
masing-masing perubahan bisa disingkat menjadi 1 huruf yaitu , s, l, n, dan h.<br />
Fungsi yang dapat digunakan untuk perubahan tersebut antara lain :<br />
htons() : perubahan host ke network dengan sistem short<br />
htonl() : perubahan host ke network dengan sistem long<br />
ntohs() : perubahan network ke host dengan sistem short<br />
ntohl() : perubahan network ke host dengan sistem long<br />
8.2.1.2 Penanganan alamat IP<br />
Ada beberapa cara untuk memasukkan alamat IP kedalam suatu variable pada pemrograman<br />
socket.<br />
Apabila kita sudah memiliki variable struct sockadd_in ina, dan kita memiliki alamat IP<br />
“10.252.102.23”. Maka dengan fungsi inet_addr(), akan dapat merubah alamat IP menjadi<br />
unsigned long. Contoh penggunaan :<br />
ina.sin_addr.s_addr = inet_addr(“10.252.102.23”);<br />
selain itu ada cara yang lainnya, yaitu dengan menggunakan inet_aton :<br />
#include <br />
#include <br />
73