Modul 2 Pemrograman Jaringan
SOCKET PROGRAMMING: UDP ECHO CLIENT/SERVER (PYTHON)
User Datagram Protocol (UDP) merupakan protokol yang bersifat connectionless. UDP
tidak dapat menjamin pengiriman maupun urutan paket. Sealain itu juga tidak ada mekanisme
handshaking. Sehingga, reliabilitas UDP tidak sebaik TCP. UDP menyediakan checksum untuk
integritas data dan port number sebagai pengalamatan. UDP diperlukan untuk aplikasi yang
membutuhkan komunikasi efisien dan cepat tanpa mempermasalahkan packet loss.
Pada gambar 1 menunjukkan proses pengiriman data untuk komunikasi menggunakan
protokol UDP. Bila dilihat pada gambar ataupun pada prosedur percobaan, pada sisi server tidak
ada proses listen dan accept seperti pada TCP. Namun, hanya ada proses bind untuk
menghubungkan socket dengan port dan proses menunggu pesan yang dikirim dari client.
Sedangkan pada sisi client menggunakan sendto() untuk mengirimkan pesan secara langsung ke
server, dan recvfrom() untuk menerima pesan balasan dari server.
Gambar 1
Pengujian program (Server)
import socket
localIP = "[Link]"
localPort = 8014
bufferSize = 1024
fd = [Link](family=socket.AF_INET,
type=socket.SOCK_DGRAM)
[Link]((localIP,localPort))
while True:
r = [Link](1024)
print("client : %s"%(r[0]))
reply = input('server : ')
client_address = r[1]
bytesToSend = [Link](reply)
[Link](bytesToSend, client_address)
Pengujian program (Client)
import socket
fd = [Link](socket.AF_INET, socket.SOCK_DGRAM )
udp_ip = '[Link]'
udp_port = 8014
while(True):
msgFromServer = input("Client :")
bytesToSend = [Link](msgFromServer)
[Link](bytesToSend, (udp_ip, udp_port))
r = [Link](1024)
print("client : %s"%(r[0]))
TUGAS
Gabungkan program UDP dengan program TCP (Modul 1)