3. Sejarah Socket
Socket adalah mekanisme komunikasi yang
memungkinkan terjadinya pertukaran data antar
program atau proses baik dalam satu mesin maupun
antar mesin
Socket adalah interface pada jaringan yang menjadi
titik komunikasi antarmesin pada Internet Protocol,
tanpa komunikasi ini, tidak akan ada pertukaran data
dan informasi jaringan
4. Socket pertama kali diperkenalkan di sistem Unix
BSD versi 4.2 tahun 1983 sebagai kelanjutan dari
implementasi protokol TCP/IP yang muncul pertama
kali pada sistem Unix BSD 4.1 pada akhir 1981.
Pada lingkungan Unix, socket memberikan
keleluasaan pemrograman gaya Unix yang terkenal
dengan ideologinya, Semua di Unix/Linux adalah file
5. Keunggulan dari penggunaan socket
Dapat melakukan komunikasi antar proses / program
melalui jaringan yang berbasis TCP/IP, juga dengan
program lain yang berjalan pada platform non-unix
seperti Microsoft Windows, sepanjang program tersebut
berbicara dalam protokol transfer yang sama.
Mampu menangani banyak klien sekaligus (multiple
clients).
6. Socket terdiri dari elemen-elemen utama sebagai
berikut:
Protokol,
Local IP,
Local Port,
Remote IP,
Remote Port.
7. Jenis – jenis Socket
Ada dua golongan socket di Unix yang paling umum
dipakai yaitu:
Socket Lokal atau AF_UNIX
Socket Lokal adalah socket yang melakukan
komunikasi dengan perantaraan sebuah file yang biasanya
diletakkan pada direktori /tmp atau /usr/tmp ataupun
/var/tmp. Socket semacam ini digunakan umumnya
terbatas untuk komunikasi antar aplikasi dalam satu
mesin.
8. Jenis – jenis Socket
Socket Networking atau AF_INET
Socket Networking ditujukan untuk komunikasi antar
aplikasi antar mesin dalam lingkungan jaringan TCP/IP.
Identifikasi socket dilakukan dengan sebuah service
identifier yaitu berupa nomor port TCP/IP yang dapat
di sambung oleh client.
9. Socket Networking memiliki beberapa jenis, yang
paling umum digunakan yaitu:
Socket Stream atau SOCK_STREAM
Socket Stream adalah socket komunikasi full-duplex
berbasis aliran (stream) data
Protokol yang digunakan TCP
Connection oriented
Contoh :
aplikasi chat,
transfer fille,
ataupun transaksi-transaksi penting
10. Socket Datagram atau SOCK_DGRAM
Socket Datagram berkomunikasi dengan cara tidak
membutuhkan koneksi yang tersambung dengan benar untuk
mengirimkan dan menerima data
Protokol yang digunakan UDP
Connectionless oriented
Contoh :
aplikasi monitoring jaringan,
game online, dan
aplikasi-aplikasi broadcast.
11. Port dan Winsock
Port merupakan sebuah koneksi data virtual yang
digunakan aplikasi untuk bertukar data secara langsung
Terdapat banyak port di dalam sebuah sistem komputer
dengan fungsinya masing-masing.
Contoh:
Service SMTP Port 25
service POP3 Port 110
HTTP Port 80
HTTPS Port 443
12. Kategori penomoran Port
Well-known Port 0 – 1023
Registered Port 1024 – 49151
Dynamic / Private Port 49152 – 65535
13. Untuk pemrograman aplikasi socket berbasis
Windows, maka komponen API yang sering digunakan
adalah Winsock (Windows Socket API) yang
mendukung interface standar TCP/IP, yang
merupakan protokol jaringan paling popular saat ini
windows socket adalah perpaduan IP Address dan port
number
14. (contoh protokol jaringan yang lain adalah NetBIOS, IPX
dari Novell, AppleTalk dari Apple, dan sebagainya)
15. Socket Programming
Pemrograman socket adalah bagaimana memberi
instruksi kepada Operating System untuk dapat
menggunakan komponen/API (Application Programming
Interface) socket dan kemudian menggunakannya untuk
berkomunikasi antar komputer.
16. Socket Programming
Antarmuka socket dan file adalah mirip, jika pada file
kita membukanya dengan open (), sedangkan pada
socket kita menggunakan socket()
Pada file deskriptor yang menjadi tujuan adalah sebuah
file, sedangkan pada socket adalah komputer atau
node lain.
17. Client Server
Penggunaan socket programming memungkinkan
adanya komunikasi antara client dan server
Untuk membuat aplikasi socket yang sederhana
diperlukan dua aplikasi.
Aplikasi server yang akan menerima data,
Aplikasi client yang mengirimkan data pada server.
Baik aplikasi server dan aplikasi client
mendefinisikan port yang sama sebagai jalur
komunikasi.
18. Secara garis besar langkah – langkah yang dilakukan
pada client dan server adalah sebagai berikut :
Langkah – langkah dasar di server :
Membuat socket dengan perintah Winsock.Localport
Menyiapkan socket untuk menerima koneksi yang masuk
dengan perintah Winsock.Listen
Menerima koneksi yang masuk ke server dengan perintah
Winsock_ConnectionRequest
19. Memastikan permintaan koneksi diterima dengan
Winsock.Accept requestID
Melakukan komunikasi penerimaan data dengan perintah
Winsock.GetData
Melakukan komnukasi pengiriman data dengan
Winsock.SendData
20. Langkah – langkah dasar di client :
Meminta koneksi client ke server, yang di dalamnya adalah
:
Melakukan pengalamatan ke server dengan perintah
Winsock.RemoteHost atau Winsock.HostIp.
Melakukan koneksi port dengan perintah Winsock.RemotePort.
Menghubungi server dengan Winsock.connect
Melakukan komunikasi penerimaan data dengan perintah
Winsock.GetData
Melakukan komnukasi pengiriman data dengan
Winsock.SendData
21. Fungsi-fungsi pemrograman jaringan dalam visual basic
antara lain :
Winsock.Listen, fungsi ini membuat winsock berstatus
menunggu status dari local port.
Winsock.LocalPort, fungsi ini mengunakan lokal port pada
komputer yang bersangkutan untuk jalur komunikasi data,
termasuk permintaan sambungan/ koneksi.
Winsock.Connect [RemoteHost/HostIP],[RemotePort],
fungsi ini digunakan untuk koneksi melalui HostIP
(penggunaan IP Address) sebagai koneksi ke Host, beserta
remoteport computer yang bersangkutan, dimana
komputer server dalam model status listen atau siap untuk
dikoneksi.
22. Winsock.Accept [requestID],fungsi ini digunakan untuk
menerima koneksi dari client dalam fungsi
Winsock_ConnectionRequest. Dan perintah berikutnya
permintaan diterima harus dilaksanakan dengan perintah
Winsock.Accept requestID.
Winsock.SendData [Data],fungsi ini digunakan untuk
mengirim. Data yang dikirim dapat berbentuk string atau
byt e array, tapi disarankan dalam bentuk string.
Winsock.GetData [Data],[Type],[MaxLen], fungsi ini
digunakan untuk menerimakiriman data dari Winsock
control, dimana Data dapat berbentuk variable, and Type =
vbString,vbInteger etc. MaxLen bersifat opsional.
Winsock.RemoteHostIP [IPAddress], fungsi ini digunakan
untuk cara koneksi ke server dengan mengunakan metode
IP address.