summaryrefslogtreecommitdiffstats
path: root/Demo/sockets/echosvr.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1991-07-01 18:32:32 (GMT)
committerGuido van Rossum <guido@python.org>1991-07-01 18:32:32 (GMT)
commit22825e86f6e13a4d84822ae9ee7c8a807259f37d (patch)
treea773c67d671fc73801ebc372e0cf6451192aacb5 /Demo/sockets/echosvr.py
parent2fa5a7fc00a726c119f7626c702ffb7fa464b25b (diff)
downloadcpython-22825e86f6e13a4d84822ae9ee7c8a807259f37d.zip
cpython-22825e86f6e13a4d84822ae9ee7c8a807259f37d.tar.gz
cpython-22825e86f6e13a4d84822ae9ee7c8a807259f37d.tar.bz2
Initial revision
Diffstat (limited to 'Demo/sockets/echosvr.py')
-rwxr-xr-xDemo/sockets/echosvr.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/Demo/sockets/echosvr.py b/Demo/sockets/echosvr.py
new file mode 100755
index 0000000..f245583
--- /dev/null
+++ b/Demo/sockets/echosvr.py
@@ -0,0 +1,31 @@
+#! /usr/local/python
+
+# Python implementation of an 'echo' tcp server: echo all data it receives.
+#
+# This is the simplest possible server, sevicing 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(0)
+ conn, (host, remoteport) = s.accept()
+ print 'connected by', host, remoteport
+ while 1:
+ data = conn.recv(BUFSIZE)
+ if not data:
+ break
+ conn.send(data)
+
+main()