Python: Demo Server Sederhana

From OnnoWiki
Revision as of 09:48, 27 July 2015 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

Sumber: http://www.tutorialspoint.com/python/python_networking.htm


Sebuah Simple Server

Untuk menulis Internet server, To write Internet servers, kita menggunakan fungsi soket yang tersedia di soket modul untuk membuat objek socket. Sebuah objek socket kemudian digunakan untuk memanggil fungsi-fungsi lain untuk setup server socket.

Sekarang memanggil bind (hostname, port) berfungsi untuk menentukan port untuk layanan pada host yang diberikan.

Berikutnya, call metoda untuk menerima objek yang kembali. Metode ini menunggu sampai klien terhubung ke port yang anda tentukan, dan kemudian mengembalikan objek koneksi yang merepresentasikan koneksi ke klien.

#!/usr/bin/python           # This is server.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.bind((host, port))        # Bind to the port

s.listen(5)                 # Now wait for client connection.
while True:
   c, addr = s.accept()     # Establish connection with client.
   print 'Got connection from', addr
   c.send('Thank you for connecting')
   c.close()                # Close the connection



Sebuah Client Simple

Mari kita menulis sebuah program klien yang sangat sederhana yang akan membuka koneksi ke port 12345 dan host yang ditentukan. Hal ini sangat sederhana untuk membuat klien soket menggunakan fungsi soket modul Python.

socket.connect (hosname, port) membuka sambungan TCP ke nama host pada port. Setelah anda memiliki socket yang terbuka, anda dapat membaca dari socket itu seperti objek IO lainnya. Setelah selesai, ingatlah untuk menutupnya, seperti anda akan menutup file.

Kode berikut adalah klien yang sangat sederhana yang menghubungkan ke host dan port tertentu, membaca data yang tersedia dari soket, dan kemudian exit -

#!/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

Jalankan server.py di background kemudian jalankan client.py untuk melihat hasilnya.

# Following would start a server in background.
$ python server.py & 

Setelah server berjalan, jalankan client sebagai berikut:

$ python client.py

Hasilnya kira-kira

Got connection from ('127.0.0.1', 48437)
Thank you for connecting





Referensi