in aliyun/log/ext/syslogclient.py [0:0]
def connect(self):
if self.socket is None:
r = socket.getaddrinfo(self.server, self.port, socket.AF_UNSPEC, self.proto)
if r is None:
return False
for (addr_fam, sock_kind, proto, ca_name, sock_addr) in r:
sock = socket.socket(addr_fam, self.proto)
if six.PY3 and self.ssl_kwargs:
self.socket = ssl.wrap_socket(sock, **self.ssl_kwargs)
else:
self.socket = sock
if self.socket is None:
return False
self.socket.settimeout(self.timeout)
try:
self.socket.connect(sock_addr)
return True
except socket.timeout as e:
if self.socket is not None:
self.socket.close()
self.socket = None
continue
except socket.error as e:
if self.socket is not None:
self.socket.close()
self.socket = None
continue
return False
else:
return True