Difference between revisions of "Python: Demo Server Sederhana"

From OnnoWiki
Jump to navigation Jump to search
(New page: Sumber: http://www.tutorialspoint.com/python/python_networking.htm A Simple Server To write Internet servers, we use the socket function available in socket module to create a socket ob...)
 
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
  
  
A Simple Server
+
==Sebuah Simple Server==
  
To write Internet servers, we use the socket function available in socket module to create a socket object. A socket object is then used to call other functions to setup a socket 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.
  
Now call bind(hostname, port) function to specify a port for your service on the given host.
+
Sekarang memanggil bind (hostname, port) berfungsi untuk menentukan port untuk layanan pada host yang diberikan.
  
Next, call the accept method of the returned object. This method waits until a client connects to the port you specified, and then returns a connection object that represents the connection to that client.
+
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
+
  # first of all import the socket library
 +
import socket
 
   
 
   
  import socket               # Import socket module
+
  # next create a socket object
 +
s = socket.socket()
 +
print ("Socket successfully created")
 
   
 
   
  s = socket.socket()        # Create a socket object
+
  # reserve a port on your computer in our
  host = socket.gethostname() # Get local machine name
+
  # case it is 40674 but it can be anything
  port = 12345                # Reserve a port for your service.
+
  port = 8888
s.bind((host, port))        # Bind to the port
 
 
   
 
   
  s.listen(5)                 # Now wait for client connection.
+
# Next bind to the port
 +
# we have not typed any ip in the ip field
 +
# instead we have inputted an empty string
 +
# this makes the server listen to requests
 +
# coming from other computers on the network
 +
s.bind(('', port))
 +
print ("socket binded to %s" %(port))
 +
 +
# put the socket into listening mode
 +
  s.listen(5)
 +
print ("socket is listening")
 +
 +
# a forever loop until we interrupt it or
 +
# an error occurs
 
  while True:
 
  while True:
    c, addr = s.accept()     # Establish connection with client.
+
    print 'Got connection from', addr
+
    # Establish connection with client.
    c.send('Thank you for connecting')
+
    c, addr = s.accept()
    c.close()               # Close the connection
+
    print ('Got connection from', addr
 +
 +
    # send a thank you message to the client.
 +
    c.send(b'Thank you for connecting')
 +
 +
    # Close the connection with the client
 +
    c.close()
  
  
Line 30: Line 52:
  
  
A Simple Client
+
==Sebuah Client Simple==
  
Let us write a very simple client program which opens a connection to a given port 12345 and given host. This is very simple to create a socket client using Python's socket module function.
+
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.
  
The socket.connect(hosname, port ) opens a TCP connection to hostname on the port. Once you have a socket open, you can read from it like any IO object. When done, remember to close it, as you would close a file.
+
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.
  
The following code is a very simple client that connects to a given host and port, reads any available data from the socket, and then exits −
+
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 module
 +
import socket
 +
 +
# Create a socket object
 +
s = socket.socket()
 +
 +
# Define the port on which you want to connect
 +
port = 8888
 
   
 
   
  import socket              # Import socket module
+
  # connect to the server on local computer
 +
s.connect(('127.0.0.1', port))
 
   
 
   
  s = socket.socket()        # Create a socket object
+
  # receive data from the server
  host = socket.gethostname() # Get local machine name
+
  print(s.recv(1024))
port = 12345                # Reserve a port for your service.
 
 
   
 
   
  s.connect((host, port))
+
  # close the connection
  print s.recv(1024)
+
  s.close()
s.close                    # Close the socket when done
+
 
  
  
 +
==Jalankan==
  
  
Now run this server.py in background and then run above client.py to see the result.
+
Jalankan server.py di background kemudian jalankan client.py untuk melihat hasilnya.
  
 
  # Following would start a server in background.
 
  # Following would start a server in background.
 
  $ python server.py &  
 
  $ python server.py &  
  
# Once server is started run client as follows:
+
Setelah server berjalan, jalankan client sebagai berikut:
  
 
  $ python client.py
 
  $ python client.py
  
This would produce following result −
+
Hasilnya kira-kira
  
 
  Got connection from ('127.0.0.1', 48437)
 
  Got connection from ('127.0.0.1', 48437)

Latest revision as of 09:23, 29 December 2022

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.

# first of all import the socket library
import socket

# next create a socket object
s = socket.socket()
print ("Socket successfully created")

# reserve a port on your computer in our
# case it is 40674 but it can be anything
port = 8888

# Next bind to the port
# we have not typed any ip in the ip field
# instead we have inputted an empty string
# this makes the server listen to requests
# coming from other computers on the network
s.bind((, port))
print ("socket binded to %s" %(port))

# put the socket into listening mode
s.listen(5)
print ("socket is listening")

# a forever loop until we interrupt it or
# an error occurs
while True:

    # Establish connection with client.
    c, addr = s.accept()
    print ('Got connection from', addr )  

    # send a thank you message to the client.
    c.send(b'Thank you for connecting')

    # Close the connection with the client
    c.close()



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 -

# Import socket module
import socket

# Create a socket object
s = socket.socket()

# Define the port on which you want to connect
port = 8888

# connect to the server on local computer
s.connect(('127.0.0.1', port)) 

# receive data from the server
print(s.recv(1024))

# close the connection
s.close()


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