File tree 1 file changed +13
-1
lines changed
1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,13 @@ def close(self):
120
120
self ._close ()
121
121
self .pendings = None
122
122
123
+ def _is_ipv4_host (self ):
124
+ try :
125
+ socket .getaddrinfo (self .host , None , socket .AF_INET )
126
+ return True
127
+ except socket .error :
128
+ return False
129
+
123
130
def _make_packet (self , label , timestamp , data ):
124
131
if label :
125
132
tag = '.' .join ((self .tag , label ))
@@ -201,7 +208,12 @@ def _reconnect(self):
201
208
sock .settimeout (self .timeout )
202
209
sock .connect (self .host [len ('unix://' ):])
203
210
else :
204
- sock = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
211
+ if self ._is_ipv4_host ():
212
+ sock = socket .socket (socket .AF_INET ,
213
+ socket .SOCK_STREAM )
214
+ else :
215
+ sock = socket .socket (socket .AF_INET6 ,
216
+ socket .SOCK_STREAM )
205
217
sock .settimeout (self .timeout )
206
218
# This might be controversial and may need to be removed
207
219
sock .setsockopt (socket .IPPROTO_TCP , socket .TCP_NODELAY , 1 )
You can’t perform that action at this time.
0 commit comments