Networking Python
Python menyediakan dua tingkat akses ke layanan jaringan. Pada tingkat
rendah, Anda dapat mengakses dukungan soket dasar dalam sistem operasi yang
mendasarinya, yang memungkinkan Anda untuk mengimplementasikan klien dan server
untuk kedua protokol berorientasi koneksi dan tanpa sambungan.
Python juga memiliki pustaka yang menyediakan akses tingkat lebih tinggi
ke protokol jaringan tingkat aplikasi tertentu, seperti FTP, HTTP, dan
seterusnya.
Bab ini memberi Anda pemahaman tentang konsep
paling terkenal dalam Networking - Socket Programming.
Apa itu Socket?
Soket adalah
titik akhir dari saluran komunikasi dua arah. Soket dapat berkomunikasi dalam
suatu proses, antara proses pada mesin yang sama, atau antara proses di
berbagai benua.
Soket dapat
diimplementasikan melalui sejumlah jenis saluran yang berbeda: soket domain
Unix, TCP, UDP, dan sebagainya. Pustaka socket menyediakan kelas khusus untuk
menangani transportasi umum serta antarmuka umum untuk menangani sisanya.
Modul Socket
Untuk membuat soket, Anda harus menggunakan fungsi socket.socket () yang
tersedia dalam modul soket, yang memiliki sintaks umum
s
= socket.socket (socket_family, socket_type, protocol=0)
Server Socket Method
Method
|
Penjelasan
|
s.bind()
|
This method binds address (hostname, port number pair) to socket.
|
s.listen()
|
This method sets up and start TCP listener.
|
s.accept()
|
This passively accept TCP client connection, waiting until connection
arrives (blocking).
|
Client Socket Method
Method
|
Penjelasan
|
s.connect()
|
This method
actively initiates TCP server connection.
|
General Method Socket
Method
|
Penjelasan
|
s.recv()
|
This method receives TCP message
|
s.send()
|
This method transmits TCP message
|
s.recvfrom()
|
This method receives UDP message
|
s.sendto()
|
This method transmits UDP message
|
s.close()
|
This method closes socket
|
socket.gethostname()
|
Returns the hostname.
|
Server Sederhana
Untuk menulis
server Internet, kami menggunakan fungsi soket yang tersedia di modul soket
untuk membuat objek soket. Objek soket kemudian digunakan untuk memanggil
fungsi lain untuk menyiapkan server soket.
Sekarang
sebut bind(hostname,port)
berfungsi untuk menentukan port untuk layanan Anda
pada host yang diberikan.
Selanjutnya,
panggil metode penerimaan objek yang dikembalikan. Metode ini menunggu sampai
klien terhubung ke port yang Anda tentukan, dan kemudian mengembalikan objek
koneksi yang mewakili koneksi ke klien itu.
Client Sederhana
Mari kita menulis program klien yang sangat sederhana yang membuka
koneksi ke port yang diberikan 12345 dan host yang diberikan. Ini sangat
sederhana untuk membuat klien soket menggunakan fungsi modul soket Python.
Socket.connect (hosname, port) membuka koneksi TCP ke hostname pada port.
Setelah Anda memiliki soket terbuka, Anda dapat membaca darinya seperti objek
IO apa pun. Setelah selesai, jangan lupa untuk menutupnya, karena Anda akan
menutup file.
Kode berikut adalah klien yang sangat sederhana yang terhubung ke host
dan port yang diberikan, membaca data yang tersedia dari soket, dan kemudian
keluar
#!/usr/bin/python # This is client.py file
import socket # Import socket module
s = socket.socket() # Create a socket
object
host = socket.gethostname()
# Get local machine name
port = 12345 # Reserve a port for your service.
s.connect((host,
port))
print s.recv(1024)
s.close # Close the socket when done
Jalankan
server
python server.py
&
Setelah server berjalan lanjutkan
Jalankan
client:
python client.py
Hasilnya akan seperti ini :
Got
connection from ('127.0.0.1', 48437)
Thank you
for connecting
Tidak ada komentar:
Posting Komentar