aboutsummaryrefslogtreecommitdiff
path: root/tests/tcpserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcpserver.py')
-rwxr-xr-xtests/tcpserver.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/tcpserver.py b/tests/tcpserver.py
new file mode 100755
index 0000000..621bf8b
--- /dev/null
+++ b/tests/tcpserver.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+
+import SocketServer
+
+class MyTCPHandler(SocketServer.BaseRequestHandler):
+ """
+ The RequestHandler class for our server.
+
+ It is instantiated once per connection to the server, and must
+ override the handle() method to implement communication to the
+ client.
+ """
+
+ def handle(self):
+ # self.request is the TCP socket connected to the client
+ self.data = self.request.recv(1024).strip()
+ print "{} wrote:".format(self.client_address[0])
+ print self.data
+ # just send back the same data, but upper-cased
+ self.request.sendall(self.data.upper())
+
+if __name__ == "__main__":
+ import sys
+ HOST, PORT = "localhost", 9999
+ if len(sys.argv)>1:
+ PORT=int(sys.argv[1])
+ print("binding to %s:%s" % (HOST, PORT))
+
+ # Create the server, binding to localhost on port 9999
+ server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
+
+ # Activate the server; this will keep running until you
+ # interrupt the program with Ctrl-C
+ server.serve_forever()