diff -r d9e25fe35f46 Lib/socketserver.py --- a/Lib/socketserver.py Tue Aug 02 22:30:24 2016 +0200 +++ b/Lib/socketserver.py Tue Aug 02 16:06:43 2016 -0700 @@ -433,6 +433,13 @@ def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True): """Constructor. May be extended, do not override.""" BaseServer.__init__(self, server_address, RequestHandlerClass) + try: + gai_results = socket.getaddrinfo(*server_address, + type=self.socket_type) + # This allows AF_INET6 to automatically used if the supported. + self.address_family = gai_results[0][0] + except socket.gaierror: + pass # Use the default. self.socket = socket.socket(self.address_family, self.socket_type) if bind_and_activate: