| #! /usr/bin/env python | 
 |  | 
 | # Python implementation of an 'echo' tcp server: echo all data it receives. | 
 | # | 
 | # This is the simplest possible server, servicing a single request only. | 
 |  | 
 | import sys | 
 | from socket import * | 
 |  | 
 | # The standard echo port isn't very useful, it requires root permissions! | 
 | # ECHO_PORT = 7 | 
 | ECHO_PORT = 50000 + 7 | 
 | BUFSIZE = 1024 | 
 |  | 
 | def main(): | 
 |     if len(sys.argv) > 1: | 
 |         port = int(eval(sys.argv[1])) | 
 |     else: | 
 |         port = ECHO_PORT | 
 |     s = socket(AF_INET, SOCK_STREAM) | 
 |     s.bind(('', port)) | 
 |     s.listen(1) | 
 |     conn, (remotehost, remoteport) = s.accept() | 
 |     print 'connected by', remotehost, remoteport | 
 |     while 1: | 
 |         data = conn.recv(BUFSIZE) | 
 |         if not data: | 
 |             break | 
 |         conn.send(data) | 
 |  | 
 | main() |