Pada dasarnya socket adalah sebuah cara untuk berkomunikasi dengan program atau node lain menggunakan file deskriptor. Di UNIX (dimana socket diciptkan) kita sering mendengar slogan: “everything is a file”, jadi untuk berkomunikasi dengan program atau node lain semudah kita membaca dan menulis file deskriptor. Antarmuka socket dan file adalah mirip, jika pada file kita membukanya dengan open() sedangkan pada socket kita manggunakan socket(). Pada file deskriptor yang menjadi tujuan adalah sebuah file, sedangkan pada socket adalah komputer atau node lain. Intinya ketika kita telah terhubung dengan socket(), maka antarmukanya sama saja dengan sebuah file.
Socket Stream dan Datagram
Pada umumnya socket ada dua macam yang sering dipakai (sebenarnya ada 4 lagi). Yang pertama disebut ‘Socket Stream’ (SOCK_STREAM) dan yang kedua adalah ‘Socket Datagram’ (SOCK_DGRAM). Lalu apa perbedaanya?, (Ini sepengatahuan saya :) untuk Socket Stream, data dikomunikasikan (dikirmkan) secara simultan, Socket Stream menggunakan protokol TCP. Seperti yang kita tahu TCP mengantar data secara simultan, selalu mencek dan mengirim ulang jika terjadi error.
Sedangkan pada Socket Datagram (juga dikenal “connectionless socket”), data mencapai/sampai ke node lain tanpa membuat koneksi, sehingga dalam perjalanan ke tujuan data dapat saja hilang karena tidak ada koneksi langsung antara kedua host, jika datanya sampai ke tujuan berarti ‘error-free’. Biasanya Socket Datagram digunakan dalam pengiriman data per packet, contoh FTP. Sederhananya socket jenis ini hanya ‘memancarkan’ saja, tidak untuk berinteraksi.
Fungsi-fungsi yang sering digunakan
0. socket(), membuat socket.
1. htonl(), meng-convert unsigned integer ke network byte order.
2. inet_ntoa(), ntoa singkatan ‘network to ascii’,
nilai return-nya berupa string dari alamat yang dilewatkan.
3. inet_addr(), meng-convert string menjadi network byte order.
4. bind(), digunakan pada pihak server, untuk membuka ‘port’ komunikasi.
5. write(), send(), bertugas mengirimkan data.
6. read(), recv(), bertugas menerima data.
7. connect(), digunakan pada pihak client, untuk mengadakan koneksi ke server.
8. listen(), menunggu koneksi socket.
9. accept(), menerima koneksi socket.
10.close(), shutdown() menutup atau mengakhiri koneksi
Kamis, 14 Juni 2012
Mengenal Socket Programming
Diposting oleh spdianto di 19.39
Langganan:
Posting Komentar (Atom)

0 komentar:
Posting Komentar