blob: b73f857b1bdcd0f354649f88ccb9e580b5f04045 [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
Andrew M. Kuchling9fef9b12006-06-03 23:59:36 +00003
Skip Montanaro94637922003-08-01 14:20:02 +00004import os
Guido van Rossumdd918a91998-01-28 16:54:00 +00005from socket import *
Andrew M. Kuchling9fef9b12006-06-03 23:59:36 +00006
7FILE = 'unix-socket'
Guido van Rossumdd918a91998-01-28 16:54:00 +00008s = socket(AF_UNIX, SOCK_STREAM)
9s.bind(FILE)
Andrew M. Kuchling9fef9b12006-06-03 23:59:36 +000010
Guido van Rossumdd918a91998-01-28 16:54:00 +000011print 'Sock name is: ['+s.getsockname()+']'
Andrew M. Kuchling9fef9b12006-06-03 23:59:36 +000012
13# Wait for a connection
Guido van Rossumdd918a91998-01-28 16:54:00 +000014s.listen(1)
15conn, addr = s.accept()
Andrew M. Kuchling9fef9b12006-06-03 23:59:36 +000016
17while True:
Guido van Rossumdd918a91998-01-28 16:54:00 +000018 data = conn.recv(1024)
Andrew M. Kuchling9fef9b12006-06-03 23:59:36 +000019 if not data:
20 break
Guido van Rossumdd918a91998-01-28 16:54:00 +000021 conn.send(data)
Andrew M. Kuchling9fef9b12006-06-03 23:59:36 +000022
Guido van Rossumdd918a91998-01-28 16:54:00 +000023conn.close()
Skip Montanaro94637922003-08-01 14:20:02 +000024os.unlink(FILE)