#!/usr/bin/env python import sys from socket import * from select import select host = None port = sys.argv[1] flags = AI_PASSIVE serverSockets = [] for addrinfo in getaddrinfo(host, port, AF_UNSPEC, SOCK_STREAM, 0, flags): family, socktype, proto, canonname, sockaddr = addrinfo serverSocket = socket(family, socktype, proto) if family==AF_INET6: serverSocket.setsockopt(IPPROTO_IPV6, IPV6_V6ONLY, 1) serverSocket.bind(sockaddr) serverSocket.listen(1) serverSockets.append(serverSocket) while True: readable, writable, special = select( serverSockets, [], []) for readSocket in readable: connectionSocket, connectionAddress = readSocket.accept() connectionSocket.send("Hello {0}\n".format(connectionAddress).encode("ascii")) connectionSocket.close()