Socket Programming: TCP Echo Client/server
Socket Programming: TCP Echo Client/server
(PYTHON)
2 D4 TEKNIK KOMPUTER B
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.
4. Jalankan program client.py secara terpisah terminal atau command prompt dari program
echo server. Tampilkan hasil pengujian anda.
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
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
KESIMPULAN
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
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
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.