SlideShare a Scribd company logo
1 of 9
LAPORAN PRAKTIKUM JARINGAN KOMPUTER
SOCKET PROGRAMMING: TCP ECHO CLIENT/SERVER
(PYTHON)
LUSIANA DIYAN NINGRUM (2210181051)
2 D4 TEKNIK KOMPUTER B
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
SURABAYA
2020
SOCKET PROGRAMMING: TCP ECHO CLIENT/SERVER
(PYTHON)
A. TUJUAN
1. Mahasiswa dapat menjelaskan konsep jaringan berbasis client-server
2. Mahasiswa dapat menjelaskan konsep pemrograman socket berbasis TCP
3. Mahasiswa dapat menjelaskan cara kerja program TCP echo client/server
B. PENDAHULUAN
Transmission Control Protocol (TCP) merupakan protokol pada transport layer
berbasis connection-oriented. TCP menjamin realibitas pengiriman data. Selain itu,
TCP memiliki mekanisme three-way handshake sebelum client-server dapat saling
mengirimkan data. Pada gambar 1 berikut menunjukkan alur komunikasi client-server
mengggunakan TCP.
Pada gambar 1 menunjukkan bahwa di sisi server terdapat beberapa socket
API yang digunakan agar dapat berkomunikasi pada jaringan. Socket API pada TCP
server yang bertugas untuk membuat listening socket yaitu: socket(), bind(), listen(),
accept(). Proses listening socket merupakan saat dimana server menunggu koneksi
dari client. Jadi, saat client menghubungkan ke server dengan connect(), hal ini
mengawali proses connection establishment. Kemudian server akan menerima
koneksi dari client melalui accept(), dan mekanisme three-way handshake selesai.
Selanjutnya, client dan server dapat saling berkomunikasi atau bertukar data
menggunakan send() dan recv(). Pada praktikum kali ini, kita akan mempelajari
socket programming, dimana program yang akan dibuat, memungkinkan client dan
server berkomunikasi. Program echo server dan echo client menggunakan protokol
TCP. Server akan membalas atau mengulang kembali data yang dikirim oleh client.
C. PROSEDUR PERCOBAAN
1. Buatlah program server.py
2. Buatlah program client.py
3. Jalankan program server.py terlebih dulu. Tampilkan hasil pengujian anda. (Catatan : port
tersebut adalah port server, dimana client nantinya akan menggunakan port tersebut agar
terhubung ke server, gunakan non privileged ports yaitu port > 1023)
4. Jalankan program client.py secara terpisah terminal atau command prompt dari program
echo server. Tampilkan hasil pengujian anda.
Sedangkan pada server akan tampil seperti berikut:
Beberapa saat kemudian akan tampil tulisan seperti berikut
5. Pada pengujian di prosedur 3 dan 4 menggunakan localhost, anda dapat juga
menggunakan host yang berbeda dengan menyesuaikan IP address tujuan.
6. Buatlah program input client/server, dimana anda bisa memberikan inputan melalui
program client kemudian server akan membalas dengan mengirimkan ulang ke client
apapun yang anda kirimkan sebelumnya. Program client dapat membaca inputan dari
keyboard dan anda dapat mengirimkan data ke server beberapa kali selama koneksi dari
client belum diakhiri.
7. Lampirkan program echo client/server yang anda buat untuk prosedur no. 6 pada laporan
anda. Tampilkan hasil setelah anda menjalankan program yang anda buat tersebut.
PROGRAM
import socket
import sys
import argparse
host='localhost'
data_payload=2048
def echo_client_input(port):
# membuat socket object dengan TCP
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_address=(host,port)
print("Connecting to %s port %s" %server_address)
# mengawali koneksi dengan server
sock.connect(server_address)
try:
# mengirim data ke server
#message="Hello World!!! This will be echoed"
message=input("Ketikkan input: ")
print("Sending %s" %message)
sock.sendall(message.encode('utf-8'))
# melihat respon
amount_received=0
amount_expected=len(message)
while amount_received < amount_expected:
# menerima data, balasan dari server
data=sock.recv(16)
amount_received += len(data)
print("Received: %s" %data.decode('utf-8'))
except socket.error as e:
print("Socket error: %s" %str(e))
except Exception as e:
print("Other error: %s" %str(e))
finally:
print("Closing connection to the server")
sock.close()
if __name__=='__main__':
parser=argparse.ArgumentParser(description='Socket Server Example')
parser.add_argument('--
port',action="store",dest="port",type=int,required=True)
given_args=parser.parse_args()
port=given_args.port
echo_client_input(port)
HASIL
Kemudian akan tampil perintah untuk memasukkan inputan
Setelah mengisi input dan diakhiri menekan enter
Sedangkan pada server akan tampil seperti berikut:
8. Analisa program echo client/server pada prosedur 1 dan 2 serta pada tugas di prosedur.
Jelaskan bagaimana penerapan mekanisme TCP pada socket programming dan perintah-
perintah yang digunakan pada program socket yang telah dibuat.
ANALISA
Jaringan client server didefinisikan sebagai suatu arsitektur jaringan komputer dimana
perangkat client melakukan proses meminta data, dan server yang memiliki tugas untuk
memberikan respon berupa data terhadap request tersebut. Perangkat client biasanya berupa
perangkat komputer dengan aplikasi software jaringan yang telah terinstal guna untuk
meminta dan menerima data melalui jaringan. Salah satu contoh aplikasi software yang
paling sering digunakan untuk meminta dan menerima data pada jaringan ialah web browser,
dimana user dapat melakukan request untuk sebuah halaman web, melalui aplikasi web
browser (persis seperti yang anda lakukan saat ini) Perangkat lain yang dapat pula
dikategorikan sebagai client ialah perangkat mobile seperti smartphone atau tablet. Server
merupakan sebuah komputer yang dirancang khusus untuk melayani client dengan
memproses request yang telah diterima dari client lalu kemudian mengirimkan kembali
respon data kepada client melalui jaringan. Server menyimpan informasi dan data yang
kompleks yang mungkin dibutuhkan client, oleh karena itu biasanya server terdiri dari
komputer dengan performa yang tinggi baik dari segi pemrosesan maupun dari segi memori,
hal tersebut agar server mampu melayani request dari banyak client secara bersamaan.
Socket programming adalah pemrograman yang menggunakan socket. Socket ini
semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara
bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa
pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang
berbeda atau gabungan ketiganya.
Secara garis besar langkah–langkah yang dilakukan pada client adalah sebagai berikut
dimulai dengan membuka koneksi client ke server, yang di dalamnya adalah membuat socket
dengan perintah socket(), kemudian melakukan pengalamatan ke server selanjutnya
menghubungi server dengan connect(). Setelah itu melakukan komunikasi (mengirim dan
menerima data), dengan menggunakan perintah recv() dan sendall(). Dan terakhir menutup
hubungan dengan perintah close(). Untuk menampilkan hasil pada terminal menggunakan
perintah echo().
Sama halnya dengan langkah – langkah yang dilakukan pada client, untuk membuat
server yang harus dilakukan antara lain dimuali dengan membuat socket dengan perintah
socket(). Selanjutnya mengikatkan socket kepada sebuah alamat network dengan perintah
bind(). Kemudian menyiapkan socket untuk menerima koneksi yang masuk dengan perintah
listen(). Untuk menerima koneksi yang masuk ke server dengan perintah accept()Melakukan
komunikasi (mengirim dan menerima data), dengan menggunakan perintah recv() dan
sendall( ). Dan untuk menampilkan hasil pada terminal menggunakan perintah echo().
Jaringan komputer dalam melakukan pengiriman data bisa diilustrasikan sebagai
pengiriman surat. Supaya surat bisa terkirim secara benar maka alamat pengirim dan
penerima harus tertulis dengan jelas dan lengkap. Begitu juga dalam koneksi di socket,
diperlukan variable yang dipakai untuk menyimpan address client dan server. Address ini
akan dipakai pada waktu melakukan connect(), bind() dan accept().
Proses dari kerja aplikasi yang menggunakan TCP adalah untuk bisa melakukan
koneksi client server, program server harus berjalan terlebih dahulu. Di sisi server disediakan
sebuah socket, yang disebut welcoming socket yang fungsinya untuk mendeteksi adanya
permintaan koneksi dari sisi client. Di sisi client terdapat client socket. Jika ingin
menghubungi server, maka melalui client socket-nya, client membuat inisialisai koneksi ke
welcoming socket milik server, dengan mode three-way handshake. Setelah welcoming
socket menerima inisialisasi koneksi dari client socket, aplikasi server akan membuat
connection socket di sisi server. Dengan connection socket ini, client socket dan connection
socket berinteraksi satu sama lain untuk mengirim dan menerima data. Client membaca data
yang dikirim oleh server dari client socket-nya. Kemudian menampilkan data tersebut di
monitor. TCP mengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan
paket-paket data secara berurutan, penerima juga dijamin akan menerima data dengan
urutan yang benar, dimulai dari data pertama yang dikirimkan hingga data terakhir. TCP
dapat menangani data yang hilang, rusak, terpecah, ataupun terduplikasi.
KESIMPULAN
Berdasarkan praktikum dan analisa dapat ditarik kesimpulan sebagai berikut :
1. Socket programming adalah pemrograman yang menggunakan socket untuk komunikasi atau
pertukaran arah secara bolak-balik.
2. Jaringan client server merupakan suatu arsitektur jaringan komputer dimana perangkat
client melakukan proses meminta data, dan server yang memiliki tugas untuk
memberikan respon berupa data terhadap request tersebut.
3. TCP memerlukan pertukaran data dua arah yang valid
TUGAS PERTANYAAN
1. Jelaskan beberapa keunggulan protokol TCP
a Bisa digunakan untuk menghubungkan meisn-mesin dengan perangkat lunak,
serta bersifat open protocol standart
b Memiliki tingkat konsistensi yang tinggi, sehingga banyak penggunanya
c TCP/IP berkembang dengan menggunakan standar protokol terbuka, maksudnya
TCP/IP ini tersedia secara luas. Efek dari standar yang baru itu membuat semua
orang bisa mendevelop software mereka sendiri sehinga dapat berkomunikasi
dengan protokol ini. Hal ini tentu membuat pemakaian TCP/IP meluas dengan
sangat cepat, terutama dari sisi pengadopsian oleh berbagai OS dan aplikasi
jaringan.
d TCP/IP tidak bergantung terhadap hardware (tidak terikat pada jenis perangkat
keras khusus) atau OS tertentu, hal ini membuat TCP/IP available untuk
menyatukan bermacam macam jaringan. Contoh: Ethernet, dial-up, dll.
e TCP/IP menggunakan teknik pengalamatan yang unik dalam skala besar, bisa
dibilang Global. Sehingga memungkinkan komputer dapat mengidentidifikasikan
secara unik komputer yang lain didalam seluruh jaringan, walau sebesar Worlwide
Internet pun bisa diidentifikasi. Setiap komputer yang tersambung dengan jaringan
TCP/IP (Internet) akan memiliki address yang hanya dimiliki olehnya.
2. Jelaskan server socket method dan client socket method pada socket programming
mengggunakan Python
Socket adalah mekanisme komunikasi untuk pertukaran data antar aplikasi
yang terdapat di dalam sebuah mesin maupun beda mesin dan pertukaran ini
terjadi pada sebuah jaringan komputer. Socket biasa digunakan untuk
pemrograman berbasis client – server yang dapat menggunakan socket TCP/IP
atau socket UDP.
a. Socket Server: digunakan untuk menangani seluruh request yang dikirimkan
dari socket client.
b. Socket Client: sebuah penghubung antara dua host, yang dapat dibangun
dengan tujuh dasar operasi.1
Terdapat beberapa method, yaitu:
- socket() = method yang digunakan untuk menkonfigurasi koneksi,
parameter AF_INET merujuk ke alamat ipv4 dan SOCK_STREAM
menandakan bahwa koneksi berorientasi pada protokol TCP.
- setsockopt() = method yang digunakan untuk mengontrol socket
behaviour.
- bind() = method yang memungkinkan Anda untuk melampirkan objek ke
suatu fungsi.
- listen() = method yang digunakan untuk mendapatkan koneksi masuk dari
client.
- accept() = method yang digunakan untuk menerima koneksi dari client.
- send() = method yang digunakan untuk mengirimkan pesan ke socket lain
(client).
- recv() = digunakan untuk menerima pesan dari soket, dan dapat digunakan
untuk menerima data pada soket yang berorientasi koneksi atau tidak.
3. Jelaskan yang anda pahami mengenai mekanisme three-way handshake.
Three-way-handshake yang juga dikenal sebagai jabat tangan TCP adalah metode yang
digunakan dalam jaringan TCP / IP untuk membuat koneksi antara host / client dan server
lokal. Ini adalah metode tiga langkah yang membutuhkan baik klien dan server untuk
bertukar SYN dan ACK (pengakuan) paket sebelum komunikasi data aktual dimulai.
Metode ini dirancang sehingga ketika dua komputer mencoba memulai komunikasi akan
dilakukan negosiasi parameter jaringan TCP terlebih dahulu sehingga kedua komputer
dapat memulai dan bernegosiasi terpisah TCP koneksi socket pada waktu yang sama.

More Related Content

What's hot

Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan KernelSistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan KernelAndino Maseleno
 
Data Link Layer
Data Link LayerData Link Layer
Data Link Layerrosmida
 
Materi asj kelas xii
Materi asj kelas xiiMateri asj kelas xii
Materi asj kelas xiimakemanah
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
Kd 3.1 menjelaskan konsep switching pada jaringan komputer.pptx
Kd 3.1 menjelaskan konsep switching pada jaringan komputer.pptxKd 3.1 menjelaskan konsep switching pada jaringan komputer.pptx
Kd 3.1 menjelaskan konsep switching pada jaringan komputer.pptxMafud Fauzi Pratama
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Topan Helmi Nicholas
 
ITP UNS SEMESTER 2 Teori permainan ro
ITP UNS SEMESTER 2 Teori permainan roITP UNS SEMESTER 2 Teori permainan ro
ITP UNS SEMESTER 2 Teori permainan roFransiska Puteri
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6ahmad haidaroh
 
Network Layer
Network LayerNetwork Layer
Network Layerrosmida
 
Tugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wiresharkTugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wiresharkEka Putuasduki
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipherBobby Chandra
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Software Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network ManagementSoftware Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network ManagementI Putu Hariyadi
 
Proses pembelajaran evaluasi diagnosa dan remedial
Proses pembelajaran evaluasi diagnosa dan remedialProses pembelajaran evaluasi diagnosa dan remedial
Proses pembelajaran evaluasi diagnosa dan remedialMichael J. Scofield
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanSherly Uda
 
Materi 2 mengenal jenis citra
Materi 2 mengenal jenis citraMateri 2 mengenal jenis citra
Materi 2 mengenal jenis citradedidarwis
 
Manajemen Transaksi
Manajemen TransaksiManajemen Transaksi
Manajemen TransaksiSherly Uda
 

What's hot (20)

Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan KernelSistem Operasi:   Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
Sistem Operasi: Arsitektur komputer, Pengantar Sistem Operasi dan Kernel
 
Data Link Layer
Data Link LayerData Link Layer
Data Link Layer
 
Materi asj kelas xii
Materi asj kelas xiiMateri asj kelas xii
Materi asj kelas xii
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
Kd 3.1 menjelaskan konsep switching pada jaringan komputer.pptx
Kd 3.1 menjelaskan konsep switching pada jaringan komputer.pptxKd 3.1 menjelaskan konsep switching pada jaringan komputer.pptx
Kd 3.1 menjelaskan konsep switching pada jaringan komputer.pptx
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan
 
ITP UNS SEMESTER 2 Teori permainan ro
ITP UNS SEMESTER 2 Teori permainan roITP UNS SEMESTER 2 Teori permainan ro
ITP UNS SEMESTER 2 Teori permainan ro
 
Sistem terdistribusi
Sistem terdistribusiSistem terdistribusi
Sistem terdistribusi
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6
 
Network Layer
Network LayerNetwork Layer
Network Layer
 
Tugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wiresharkTugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wireshark
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
Software Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network ManagementSoftware Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network Management
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
Proses pembelajaran evaluasi diagnosa dan remedial
Proses pembelajaran evaluasi diagnosa dan remedialProses pembelajaran evaluasi diagnosa dan remedial
Proses pembelajaran evaluasi diagnosa dan remedial
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Materi 2 mengenal jenis citra
Materi 2 mengenal jenis citraMateri 2 mengenal jenis citra
Materi 2 mengenal jenis citra
 
Manajemen Transaksi
Manajemen TransaksiManajemen Transaksi
Manajemen Transaksi
 

Similar to Socket Programming TCP Echo Client Server (Python)

Part 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfPart 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfAiAdhi
 
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCPAplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCPSyauqina Idzni Adzhani
 
Kajian kes datagram analisis dengan wireshark
Kajian kes   datagram analisis dengan wiresharkKajian kes   datagram analisis dengan wireshark
Kajian kes datagram analisis dengan wiresharkMad Qiyud
 
Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringankrisdjayanti1
 
Laporan pemrograman visual3
Laporan pemrograman visual3Laporan pemrograman visual3
Laporan pemrograman visual3Fenty Hidayati
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Helmi Mahfudhatul
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02rizkiinrl
 
Marauli te,cr kerja internet
Marauli te,cr kerja internetMarauli te,cr kerja internet
Marauli te,cr kerja internetmarauli
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02rizkiinrl
 

Similar to Socket Programming TCP Echo Client Server (Python) (20)

Part 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdfPart 3 & 4 Networking Programming.pdf
Part 3 & 4 Networking Programming.pdf
 
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCPAplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
 
Jeni Intro2 Bab10 Jaringan
Jeni Intro2 Bab10 JaringanJeni Intro2 Bab10 Jaringan
Jeni Intro2 Bab10 Jaringan
 
I wayan diana
I wayan dianaI wayan diana
I wayan diana
 
application layer
application layerapplication layer
application layer
 
Kajian kes datagram analisis dengan wireshark
Kajian kes   datagram analisis dengan wiresharkKajian kes   datagram analisis dengan wireshark
Kajian kes datagram analisis dengan wireshark
 
Transport layer
Transport layerTransport layer
Transport layer
 
Sister 06 - client server
Sister   06 - client serverSister   06 - client server
Sister 06 - client server
 
Kelompok 6
Kelompok 6Kelompok 6
Kelompok 6
 
Kelompok 6
Kelompok 6Kelompok 6
Kelompok 6
 
Transpot layer
Transpot layerTranspot layer
Transpot layer
 
Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringan
 
Laporan pemrograman visual3
Laporan pemrograman visual3Laporan pemrograman visual3
Laporan pemrograman visual3
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02
 
Marauli te,cr kerja internet
Marauli te,cr kerja internetMarauli te,cr kerja internet
Marauli te,cr kerja internet
 
TRANSPORT LAYER UDP TCP
TRANSPORT LAYER UDPTCPTRANSPORT LAYER UDPTCP
TRANSPORT LAYER UDP TCP
 
rizkii
rizkiirizkii
rizkii
 
rizki ppt
rizki pptrizki ppt
rizki ppt
 
Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02Rizkitecrkerjainternet 131119222943-phpapp02
Rizkitecrkerjainternet 131119222943-phpapp02
 

More from Lusiana Diyan

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifLusiana Diyan
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam TimLusiana Diyan
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Lusiana Diyan
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Lusiana Diyan
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentLusiana Diyan
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTLusiana Diyan
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimLusiana Diyan
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLLusiana Diyan
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web ServerLusiana Diyan
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiLusiana Diyan
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREPLusiana Diyan
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleLusiana Diyan
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakLusiana Diyan
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCLusiana Diyan
 

More from Lusiana Diyan (20)

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang Efektif
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam Tim
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan Keragaman
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering Enrichment
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENT
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQL
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web Server
 
Installasi NodeMCU
Installasi NodeMCUInstallasi NodeMCU
Installasi NodeMCU
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry Pi
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software Eagle
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DC
 

Recently uploaded

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 

Recently uploaded (6)

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 

Socket Programming TCP Echo Client Server (Python)

  • 1. LAPORAN PRAKTIKUM JARINGAN KOMPUTER SOCKET PROGRAMMING: TCP ECHO CLIENT/SERVER (PYTHON) LUSIANA DIYAN NINGRUM (2210181051) 2 D4 TEKNIK KOMPUTER B POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2020
  • 2. SOCKET PROGRAMMING: TCP ECHO CLIENT/SERVER (PYTHON) A. TUJUAN 1. Mahasiswa dapat menjelaskan konsep jaringan berbasis client-server 2. Mahasiswa dapat menjelaskan konsep pemrograman socket berbasis TCP 3. Mahasiswa dapat menjelaskan cara kerja program TCP echo client/server B. PENDAHULUAN Transmission Control Protocol (TCP) merupakan protokol pada transport layer berbasis connection-oriented. TCP menjamin realibitas pengiriman data. Selain itu, TCP memiliki mekanisme three-way handshake sebelum client-server dapat saling mengirimkan data. Pada gambar 1 berikut menunjukkan alur komunikasi client-server mengggunakan TCP. Pada gambar 1 menunjukkan bahwa di sisi server terdapat beberapa socket API yang digunakan agar dapat berkomunikasi pada jaringan. Socket API pada TCP server yang bertugas untuk membuat listening socket yaitu: socket(), bind(), listen(), accept(). Proses listening socket merupakan saat dimana server menunggu koneksi dari client. Jadi, saat client menghubungkan ke server dengan connect(), hal ini mengawali proses connection establishment. Kemudian server akan menerima koneksi dari client melalui accept(), dan mekanisme three-way handshake selesai. Selanjutnya, client dan server dapat saling berkomunikasi atau bertukar data menggunakan send() dan recv(). Pada praktikum kali ini, kita akan mempelajari socket programming, dimana program yang akan dibuat, memungkinkan client dan server berkomunikasi. Program echo server dan echo client menggunakan protokol TCP. Server akan membalas atau mengulang kembali data yang dikirim oleh client.
  • 3. C. PROSEDUR PERCOBAAN 1. Buatlah program server.py 2. Buatlah program client.py
  • 4. 3. Jalankan program server.py terlebih dulu. Tampilkan hasil pengujian anda. (Catatan : port tersebut adalah port server, dimana client nantinya akan menggunakan port tersebut agar terhubung ke server, gunakan non privileged ports yaitu port > 1023) 4. Jalankan program client.py secara terpisah terminal atau command prompt dari program echo server. Tampilkan hasil pengujian anda. Sedangkan pada server akan tampil seperti berikut: Beberapa saat kemudian akan tampil tulisan seperti berikut 5. Pada pengujian di prosedur 3 dan 4 menggunakan localhost, anda dapat juga menggunakan host yang berbeda dengan menyesuaikan IP address tujuan. 6. Buatlah program input client/server, dimana anda bisa memberikan inputan melalui program client kemudian server akan membalas dengan mengirimkan ulang ke client apapun yang anda kirimkan sebelumnya. Program client dapat membaca inputan dari keyboard dan anda dapat mengirimkan data ke server beberapa kali selama koneksi dari client belum diakhiri.
  • 5. 7. Lampirkan program echo client/server yang anda buat untuk prosedur no. 6 pada laporan anda. Tampilkan hasil setelah anda menjalankan program yang anda buat tersebut. PROGRAM import socket import sys import argparse host='localhost' data_payload=2048 def echo_client_input(port): # membuat socket object dengan TCP sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) server_address=(host,port) print("Connecting to %s port %s" %server_address) # mengawali koneksi dengan server sock.connect(server_address) try: # mengirim data ke server #message="Hello World!!! This will be echoed" message=input("Ketikkan input: ") print("Sending %s" %message) sock.sendall(message.encode('utf-8')) # melihat respon amount_received=0 amount_expected=len(message) while amount_received < amount_expected: # menerima data, balasan dari server data=sock.recv(16) amount_received += len(data) print("Received: %s" %data.decode('utf-8')) except socket.error as e: print("Socket error: %s" %str(e)) except Exception as e: print("Other error: %s" %str(e)) finally: print("Closing connection to the server") sock.close() if __name__=='__main__': parser=argparse.ArgumentParser(description='Socket Server Example') parser.add_argument('-- port',action="store",dest="port",type=int,required=True) given_args=parser.parse_args() port=given_args.port echo_client_input(port) HASIL Kemudian akan tampil perintah untuk memasukkan inputan
  • 6. Setelah mengisi input dan diakhiri menekan enter Sedangkan pada server akan tampil seperti berikut: 8. Analisa program echo client/server pada prosedur 1 dan 2 serta pada tugas di prosedur. Jelaskan bagaimana penerapan mekanisme TCP pada socket programming dan perintah- perintah yang digunakan pada program socket yang telah dibuat. ANALISA Jaringan client server didefinisikan sebagai suatu arsitektur jaringan komputer dimana perangkat client melakukan proses meminta data, dan server yang memiliki tugas untuk memberikan respon berupa data terhadap request tersebut. Perangkat client biasanya berupa perangkat komputer dengan aplikasi software jaringan yang telah terinstal guna untuk meminta dan menerima data melalui jaringan. Salah satu contoh aplikasi software yang paling sering digunakan untuk meminta dan menerima data pada jaringan ialah web browser, dimana user dapat melakukan request untuk sebuah halaman web, melalui aplikasi web browser (persis seperti yang anda lakukan saat ini) Perangkat lain yang dapat pula dikategorikan sebagai client ialah perangkat mobile seperti smartphone atau tablet. Server merupakan sebuah komputer yang dirancang khusus untuk melayani client dengan memproses request yang telah diterima dari client lalu kemudian mengirimkan kembali respon data kepada client melalui jaringan. Server menyimpan informasi dan data yang kompleks yang mungkin dibutuhkan client, oleh karena itu biasanya server terdiri dari komputer dengan performa yang tinggi baik dari segi pemrosesan maupun dari segi memori, hal tersebut agar server mampu melayani request dari banyak client secara bersamaan. Socket programming adalah pemrograman yang menggunakan socket. Socket ini semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang berbeda atau gabungan ketiganya. Secara garis besar langkah–langkah yang dilakukan pada client adalah sebagai berikut dimulai dengan membuka koneksi client ke server, yang di dalamnya adalah membuat socket dengan perintah socket(), kemudian melakukan pengalamatan ke server selanjutnya menghubungi server dengan connect(). Setelah itu melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah recv() dan sendall(). Dan terakhir menutup hubungan dengan perintah close(). Untuk menampilkan hasil pada terminal menggunakan perintah echo(). Sama halnya dengan langkah – langkah yang dilakukan pada client, untuk membuat server yang harus dilakukan antara lain dimuali dengan membuat socket dengan perintah
  • 7. socket(). Selanjutnya mengikatkan socket kepada sebuah alamat network dengan perintah bind(). Kemudian menyiapkan socket untuk menerima koneksi yang masuk dengan perintah listen(). Untuk menerima koneksi yang masuk ke server dengan perintah accept()Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah recv() dan sendall( ). Dan untuk menampilkan hasil pada terminal menggunakan perintah echo(). Jaringan komputer dalam melakukan pengiriman data bisa diilustrasikan sebagai pengiriman surat. Supaya surat bisa terkirim secara benar maka alamat pengirim dan penerima harus tertulis dengan jelas dan lengkap. Begitu juga dalam koneksi di socket, diperlukan variable yang dipakai untuk menyimpan address client dan server. Address ini akan dipakai pada waktu melakukan connect(), bind() dan accept(). Proses dari kerja aplikasi yang menggunakan TCP adalah untuk bisa melakukan koneksi client server, program server harus berjalan terlebih dahulu. Di sisi server disediakan sebuah socket, yang disebut welcoming socket yang fungsinya untuk mendeteksi adanya permintaan koneksi dari sisi client. Di sisi client terdapat client socket. Jika ingin menghubungi server, maka melalui client socket-nya, client membuat inisialisai koneksi ke welcoming socket milik server, dengan mode three-way handshake. Setelah welcoming socket menerima inisialisasi koneksi dari client socket, aplikasi server akan membuat connection socket di sisi server. Dengan connection socket ini, client socket dan connection socket berinteraksi satu sama lain untuk mengirim dan menerima data. Client membaca data yang dikirim oleh server dari client socket-nya. Kemudian menampilkan data tersebut di monitor. TCP mengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan paket-paket data secara berurutan, penerima juga dijamin akan menerima data dengan urutan yang benar, dimulai dari data pertama yang dikirimkan hingga data terakhir. TCP dapat menangani data yang hilang, rusak, terpecah, ataupun terduplikasi. KESIMPULAN Berdasarkan praktikum dan analisa dapat ditarik kesimpulan sebagai berikut : 1. Socket programming adalah pemrograman yang menggunakan socket untuk komunikasi atau pertukaran arah secara bolak-balik. 2. Jaringan client server merupakan suatu arsitektur jaringan komputer dimana perangkat client melakukan proses meminta data, dan server yang memiliki tugas untuk memberikan respon berupa data terhadap request tersebut. 3. TCP memerlukan pertukaran data dua arah yang valid TUGAS PERTANYAAN 1. Jelaskan beberapa keunggulan protokol TCP a Bisa digunakan untuk menghubungkan meisn-mesin dengan perangkat lunak, serta bersifat open protocol standart b Memiliki tingkat konsistensi yang tinggi, sehingga banyak penggunanya
  • 8. c TCP/IP berkembang dengan menggunakan standar protokol terbuka, maksudnya TCP/IP ini tersedia secara luas. Efek dari standar yang baru itu membuat semua orang bisa mendevelop software mereka sendiri sehinga dapat berkomunikasi dengan protokol ini. Hal ini tentu membuat pemakaian TCP/IP meluas dengan sangat cepat, terutama dari sisi pengadopsian oleh berbagai OS dan aplikasi jaringan. d TCP/IP tidak bergantung terhadap hardware (tidak terikat pada jenis perangkat keras khusus) atau OS tertentu, hal ini membuat TCP/IP available untuk menyatukan bermacam macam jaringan. Contoh: Ethernet, dial-up, dll. e TCP/IP menggunakan teknik pengalamatan yang unik dalam skala besar, bisa dibilang Global. Sehingga memungkinkan komputer dapat mengidentidifikasikan secara unik komputer yang lain didalam seluruh jaringan, walau sebesar Worlwide Internet pun bisa diidentifikasi. Setiap komputer yang tersambung dengan jaringan TCP/IP (Internet) akan memiliki address yang hanya dimiliki olehnya. 2. Jelaskan server socket method dan client socket method pada socket programming mengggunakan Python Socket adalah mekanisme komunikasi untuk pertukaran data antar aplikasi yang terdapat di dalam sebuah mesin maupun beda mesin dan pertukaran ini terjadi pada sebuah jaringan komputer. Socket biasa digunakan untuk pemrograman berbasis client – server yang dapat menggunakan socket TCP/IP atau socket UDP. a. Socket Server: digunakan untuk menangani seluruh request yang dikirimkan dari socket client. b. Socket Client: sebuah penghubung antara dua host, yang dapat dibangun dengan tujuh dasar operasi.1 Terdapat beberapa method, yaitu: - socket() = method yang digunakan untuk menkonfigurasi koneksi, parameter AF_INET merujuk ke alamat ipv4 dan SOCK_STREAM menandakan bahwa koneksi berorientasi pada protokol TCP. - setsockopt() = method yang digunakan untuk mengontrol socket behaviour. - bind() = method yang memungkinkan Anda untuk melampirkan objek ke suatu fungsi. - listen() = method yang digunakan untuk mendapatkan koneksi masuk dari client. - accept() = method yang digunakan untuk menerima koneksi dari client. - send() = method yang digunakan untuk mengirimkan pesan ke socket lain (client). - recv() = digunakan untuk menerima pesan dari soket, dan dapat digunakan untuk menerima data pada soket yang berorientasi koneksi atau tidak.
  • 9. 3. Jelaskan yang anda pahami mengenai mekanisme three-way handshake. Three-way-handshake yang juga dikenal sebagai jabat tangan TCP adalah metode yang digunakan dalam jaringan TCP / IP untuk membuat koneksi antara host / client dan server lokal. Ini adalah metode tiga langkah yang membutuhkan baik klien dan server untuk bertukar SYN dan ACK (pengakuan) paket sebelum komunikasi data aktual dimulai. Metode ini dirancang sehingga ketika dua komputer mencoba memulai komunikasi akan dilakukan negosiasi parameter jaringan TCP terlebih dahulu sehingga kedua komputer dapat memulai dan bernegosiasi terpisah TCP koneksi socket pada waktu yang sama.