Desain dan Pemrograman Jaringan
Pemrograman Socket
Ali Sofyan
Pemrograman Socket
 Sejarah Socket
 Jenis Socket
 Port dan Winsock
 Socket Programming
 Client Server
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
 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
 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).
 Socket terdiri dari elemen-elemen utama sebagai
berikut:
 Protokol,
 Local IP,
 Local Port,
 Remote IP,
 Remote Port.
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.
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.
 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
 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.
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
 Kategori penomoran Port
 Well-known Port  0 – 1023
 Registered Port  1024 – 49151
 Dynamic / Private Port  49152 – 65535
 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
 (contoh protokol jaringan yang lain adalah NetBIOS, IPX
dari Novell, AppleTalk dari Apple, dan sebagainya)
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.
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.
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.
 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
 Memastikan permintaan koneksi diterima dengan
Winsock.Accept requestID
 Melakukan komunikasi penerimaan data dengan perintah
Winsock.GetData
 Melakukan komnukasi pengiriman data dengan
Winsock.SendData
 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
 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.
 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.

pemrograman socket pada jaringan komputer

  • 1.
    Desain dan PemrogramanJaringan Pemrograman Socket Ali Sofyan
  • 2.
    Pemrograman Socket  SejarahSocket  Jenis Socket  Port dan Winsock  Socket Programming  Client Server
  • 3.
    Sejarah Socket  Socketadalah 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 pertamakali 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 daripenggunaan 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 terdiridari elemen-elemen utama sebagai berikut:  Protokol,  Local IP,  Local Port,  Remote IP,  Remote Port.
  • 7.
    Jenis – jenisSocket  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 – jenisSocket  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 Networkingmemiliki 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 Datagramatau 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 penomoranPort  Well-known Port  0 – 1023  Registered Port  1024 – 49151  Dynamic / Private Port  49152 – 65535
  • 13.
     Untuk pemrogramanaplikasi 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 protokoljaringan yang lain adalah NetBIOS, IPX dari Novell, AppleTalk dari Apple, dan sebagainya)
  • 15.
    Socket Programming  Pemrogramansocket 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  Antarmukasocket 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  Penggunaansocket 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 garisbesar 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 permintaankoneksi 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 pemrogramanjaringan 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],fungsiini 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.