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