summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Demo/sockets/README4
-rw-r--r--Demo/sockets/unixclient.py10
-rw-r--r--Demo/sockets/unixserver.py14
3 files changed, 27 insertions, 1 deletions
diff --git a/Demo/sockets/README b/Demo/sockets/README
index e844ac6..21ed808 100644
--- a/Demo/sockets/README
+++ b/Demo/sockets/README
@@ -5,10 +5,12 @@ echosvr.py About the simplest TCP server possible.
finger.py Client for the 'finger' protocol.
ftp.py A very simple ftp client.
gopher.py A simple gopher client.
+radio.py Receive time broadcasts from broadcast.py.
telnet.py Client for the 'telnet' protocol.
throughput.py Client and server to measure TCP throughput.
+unixclient.py Unix socket example, client side
+unixserver.py Unix socket example, server side
udpecho.py Client and server for the UDP echo protocol.
-radio.py Receive time broadcasts from broadcast.py.
The following file is only relevant on SGI machines (or other systems
that support multicast):
diff --git a/Demo/sockets/unixclient.py b/Demo/sockets/unixclient.py
new file mode 100644
index 0000000..a0d80f6
--- /dev/null
+++ b/Demo/sockets/unixclient.py
@@ -0,0 +1,10 @@
+# Echo client demo using Unix sockets
+# Piet van Oostrum
+from socket import *
+FILE = 'blabla'
+s = socket(AF_UNIX, SOCK_STREAM)
+s.connect(FILE)
+s.send('Hello, world')
+data = s.recv(1024)
+s.close()
+print 'Received', `data`
diff --git a/Demo/sockets/unixserver.py b/Demo/sockets/unixserver.py
new file mode 100644
index 0000000..3d6f3c3
--- /dev/null
+++ b/Demo/sockets/unixserver.py
@@ -0,0 +1,14 @@
+# Echo server program using Unix sockets (handles one connection only)
+from socket import *
+FILE = 'blabla'
+s = socket(AF_UNIX, SOCK_STREAM)
+s.bind(FILE)
+print 'Sock name is: ['+s.getsockname()+']'
+s.listen(1)
+conn, addr = s.accept()
+print 'Connected by', addr
+while 1:
+ data = conn.recv(1024)
+ if not data: break
+ conn.send(data)
+conn.close()