59
59
from socket import error as socket_error
60
60
self._socket_error = socket_error
61
61
self._socket_timeout = socket_timeout
62
addrs = socket.getaddrinfo(host, port, socket.AF_UNSPEC,
65
(family, socktype, proto, canonname, sockaddr) = addrs
68
63
# SO_REUSERADDR has a different meaning on Windows
69
64
if sys.platform != 'win32':
70
65
self._server_socket.setsockopt(socket.SOL_SOCKET,
74
69
except self._socket_error, message:
75
70
raise errors.CannotBindAddress(host, port, message)
76
71
self._sockname = self._server_socket.getsockname()