+++ /dev/null
-import select\r
-import socket\r
-from ServerUtils import log, create_listener_socket, DEFAULT_PORT, SocketStream, Connection\r
-\r
-\r
-def main(port = DEFAULT_PORT):\r
- sock = create_listener_socket(port)\r
- connections = []\r
- \r
- while True:\r
- rlist, wlist, xlist = select.select([sock] + connections, [], [])\r
- \r
- if sock in rlist:\r
- rlist.remove(sock)\r
- newsock, name = sock.accept()\r
- conn = Connection(SocketStream(newsock))\r
- conn.sockname = name\r
- connections.append(conn)\r
- log("welcome", conn.sockname)\r
- \r
- for conn in rlist:\r
- try:\r
- conn.serve()\r
- except (EOFError, socket.error):\r
- connections.remove(conn)\r
- log("goodbyte", conn.sockname)\r
-\r
-if __name__ == "__main__":\r
- main()\r