Modul 01 - Pemrograman Socket
Modul 01 - Pemrograman Socket
MODUL 1
PEMROGRAMAN SOCKET
1.1 Pengertian
Socket adalah interface pada jaringan yang menjadi titik komunikasi antar mesin pada
Internet Protocol. Socket adalah titik komunikasi dari lalu lintas komunikasi dari lalu lintas
komunikasi antar proses di dalam sebuah jaringan komputer.
• Contoh :
1. Chat
2. Transfer File (seperti FIleZilla, WinSCP)
3. Transaksi-transaski penting seperti Mesin ATM di Bank
4. Game online
5. Monitoring jaringan
6. Aplikasi-aplikasi broadcast seperti YouTube
• Elemen Utama
1. Protokol (TCP/UDP)
2. Local IP Address
3. Local Port
4. Remote IP Address
5. Remote Port
1
PRAKTIKUM SISTEM TERDISTRIBUSI
JURUSAN TEKNIK INFORMATIKA
UIN MAULANA MALIK IBRAHIM MALANG
2
PRAKTIKUM SISTEM TERDISTRIBUSI
JURUSAN TEKNIK INFORMATIKA
UIN MAULANA MALIK IBRAHIM MALANG
Gambar 2. TCP
2. UDP (User Data Protocol) Aplikasi SunRPC, SNMP, DNS, TFTP, aplikasi monitoring
jaringan, game online dan aplikasi-aplikasi broadcast seperti YouTube.
Gambar 3. UDP
• Port
Port merupakan sebuah koneksi data virtual yang digunakan aplikasi untuk bertukar data
secara langsung. Contoh :
- HTTP 80
- HTTPS 443
- FTP 21
- SSH 22
- TELNET 23
- DNS 53
3
PRAKTIKUM SISTEM TERDISTRIBUSI
JURUSAN TEKNIK INFORMATIKA
UIN MAULANA MALIK IBRAHIM MALANG
• Jenis Port
- Well-known ports
Merupakan port yang telah digunakan secara internal oleh Sistem, misalnya port
untuk service HTTP, HTTPS, FTP, SSH, DNS dan seterusnya. Port yang telah
digunakan ini adalah port 0 sampai dengan port 1023.
- Registered ports
Port ini dapat digunakan dalam aplikasi Anda, range-nya adalah port 1024 hingga
port 49151 dan dapat dipilih secara bebas.
1. Dynamic/Private ports
Dari port 49152 sampai dengan port 65535.
4
PRAKTIKUM SISTEM TERDISTRIBUSI
JURUSAN TEKNIK INFORMATIKA
UIN MAULANA MALIK IBRAHIM MALANG
1.2.1 Aplikasi sederhana untuk mengambil Laman Web Google dengan Pemrograman Socket.
Berikut ini merupakan contoh mengambil laman web di google menggunakan
pemrograman socket.
1. Pada file socket.php, ketikkan source code berikut dan simpan file tersebut di
“D:\htdocs\socket”.
http://localhost:8080/www/socket/socket.php
<?php
error_reporting(1);
set_time_limit (0);
$address = "0.0.0.0";
$port = 5000;
$max_clients = 5;
// Creating a socket
if(!($sock = socket_create(AF_INET, SOCK_STREAM, 0)))
{ // Error handling
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg \n");
}
echo "Socket created \n";
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not listen on socket : [$errorcode] $errormsg
\n");
}
echo "Socket listen OK \n";
7
PRAKTIKUM SISTEM TERDISTRIBUSI
JURUSAN TEKNIK INFORMATIKA
UIN MAULANA MALIK IBRAHIM MALANG
if ($input == null)
{ //zero length string meaning disconnected,
remove and close the socket
// remove the socket
unset($client_socks[$i]);
// close the socket
socket_close($client_socks[$i]);
}
$n = trim($input);
$output = $client_socks[$i]." Said: ... $input";
echo "Sending output to client \n";
8
PRAKTIKUM SISTEM TERDISTRIBUSI
JURUSAN TEKNIK INFORMATIKA
UIN MAULANA MALIK IBRAHIM MALANG
//socket_write($client_socks[$i], $output);
3. Pastikan perangkat terkoneksi dengan internet. Tambahkan Repository pada Debian Server
di VirtualBox lalu install Telnet.
$ sudo apt-get update
$ sudo apt-get install -y telnet
4. Shutdown Debian Server dengan perintah
$ sudo /sbin/init 0
atau
$ sudo /sbin/shutdown -P now
9
PRAKTIKUM SISTEM TERDISTRIBUSI
JURUSAN TEKNIK INFORMATIKA
UIN MAULANA MALIK IBRAHIM MALANG
5. Lakukan Cloning dengan klik kanan pada Debian Server, pilih “Clone” lalu
pilih “Full clone” pada langkah selanjutnya.
10