Advertisement
rfmonk

echo_server.py

May 27th, 2014
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3.  
  4. import socket
  5. import sys
  6. import argparse
  7.  
  8. host = 'localhost'
  9. data_payload = 2048
  10. backlog = 5
  11.  
  12. def echo_server (port):
  13.     """ A simple echo server """
  14.     # Create a TCP socket
  15.     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  16.     # Enable reuse address/port
  17.     sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  18.     # Bind the socket to the port
  19.     server_address = (host, port)
  20.     print "Starting up echo server on %s port %s" % server_address
  21.     sock.bind(server_address)
  22.     # Listen to clients, backlog argument specifies max no. of conns
  23.     sock.listen(backlog)
  24.     while True:
  25.         print "Waiting to receive message from client"
  26.         client, address = sock.accept()
  27.         data = client.recv(data_payload)
  28.         if data:
  29.             print "Data: %s" %data
  30.             client.send(data)
  31.             print "sent %s bytes back to %s" % (data, address)
  32.         # end connection
  33.         client.close()
  34.  
  35. if __name__ == '__main__':
  36.     parser = argparse.ArgumentParser(description='Socket Server Example')
  37.     parser.add_argument('--port', action="store", dest="port", type=int, required=True)
  38.     given_args = parser.parse_args()
  39.     port = given_args.port
  40.     echo_server(port)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement