blob: c3c9c4f82886122985c1f65750e983647648c4aa [file] [log] [blame]
Guido van Rossum44f5c751998-01-29 04:04:04 +00001# Echo server demo using Unix sockets (handles one connection only)
2# Piet van Oostrum
Thomas Wouters73e5a5b2006-06-08 15:35:45 +00003
Skip Montanaro94637922003-08-01 14:20:02 +00004import os
Guido van Rossumdd918a91998-01-28 16:54:00 +00005from socket import *
Thomas Wouters73e5a5b2006-06-08 15:35:45 +00006
7FILE = 'unix-socket'
Guido van Rossumdd918a91998-01-28 16:54:00 +00008s = socket(AF_UNIX, SOCK_STREAM)
9s.bind(FILE)
Thomas Wouters73e5a5b2006-06-08 15:35:45 +000010
Collin Winter6f2df4d2007-07-17 20:59:35 +000011print('Sock name is: ['+s.getsockname()+']')
Thomas Wouters73e5a5b2006-06-08 15:35:45 +000012
13# Wait for a connection
Guido van Rossumdd918a91998-01-28 16:54:00 +000014s.listen(1)
15conn, addr = s.accept()
Thomas Wouters73e5a5b2006-06-08 15:35:45 +000016
17while True:
Guido van Rossumdd918a91998-01-28 16:54:00 +000018 data = conn.recv(1024)
Thomas Wouters73e5a5b2006-06-08 15:35:45 +000019 if not data:
20 break
Guido van Rossumdd918a91998-01-28 16:54:00 +000021 conn.send(data)
Thomas Wouters73e5a5b2006-06-08 15:35:45 +000022
Guido van Rossumdd918a91998-01-28 16:54:00 +000023conn.close()
Skip Montanaro94637922003-08-01 14:20:02 +000024os.unlink(FILE)