16.04.2018 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!