Advertisement
rfmonk

echo_server_diesel.py

Jul 16th, 2014
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.14 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # python network programming cookbook
  3. # this is optimized for python 2.7
  4. # pip install diesel
  5. # this has been modified from the original version
  6. # has been recreated here for my personal study
  7. # run it like $ python script.py --port=8080
  8.  
  9. import diesel
  10. import argparse
  11.  
  12. class EchoServer(object):
  13.  
  14.     def handler(self, remote_addr):
  15.         host, port = remote_addr[0], remote_addr[1]
  16.         print "Echo client connected from: %s:%d" %(host, port)
  17.  
  18.         while True:
  19.             try:
  20.                 message = diesel.until_eol()
  21.                 your_message = ': '.join(['You said', message])
  22.                 diesel.send(your_message)
  23.             except Exception, e:
  24.                 print "Exception:",e
  25.  
  26. def main(server_port):
  27.     app = diesel.Application()
  28.     server = EchoServer()
  29.     app.add_service(diesel.Service(server.handler, server_port))
  30.     app.run()
  31.  
  32. if __name__ == '__main__':
  33.     parser = argparse.ArgumentParser(description='Echo server example with Diesel')
  34.     parser.add_argument('--port', action="store", dest="port", type=int, required=True)
  35.     given_args = parser.parse_args()
  36.     port = given_args.port
  37.     main(port)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement