Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5516
| From | Julian Gethmann <mail.python.org@gethmann.org> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] socket.create_connection() ipv4 oder ipv6? |
| Date | 2019-06-25 15:42 +0200 |
| Message-ID | <mailman.21.1561470135.29664.python-de@python.org> (permalink) |
| References | <qess02$t26$1@news2.informatik.uni-stuttgart.de> <gnebcoFcaktU1@mid.individual.net> <qet6ra$vtp$1@news2.informatik.uni-stuttgart.de> <f6e249a1-8afd-335f-53b9-bd4b63a7fe04@gethmann.org> |
Hi,
bei mir liefert
>>> sock.family
<AddressFamily.AF_INET6: 10>
zurück. Ein Blick in die Python-Quellen zeigt, dass getaddrinfo benutzt
wird, welches auch sowohl v6, als auch v4 zurück liefert.
Ich denke, dass die Betriebssystem-Funktionen genutzt werden, sprich auf
aktuellen Linux, Mac und Windows v6 priorisiert wird (afaik).
Hoffentlich hilft das schon mal ein bisschen weiter. Nach
"socket.getaddrinfo??" kommt dann C-code ;)
Mit freundlichen Grüßen,
Julian Gethmann
On 25/06/2019 15.16, Ulli Horlacher wrote:
> Peter Heitzer <peter.heitzer@rz.uni-regensburg.de> wrote:
>
>>> sock = socket.create_connection(('flupp.belwue.de',591))
>>
>>> bekomme ich einen tcp Link. Das funktioniert.
>>
>>> In der Doku steht dazu:
>>
>>> https://docs.python.org/3/library/socket.html
>>
>>> Connect to a TCP service listening on the Internet address (a 2-tuple
>>> (host, port)), and return the socket object. This is a higher-level
>>> function than socket.connect(): if host is a non-numeric hostname, it
>>> will try to resolve it for both AF_INET and AF_INET6, and then try to
>>> connect to all possible addresses in turn until a connection succeeds.
>>
>>
>>> flupp.belwue.de hat sowohl ipv4 als auch ipv6 Adresse.
>>> Welche wird genommen und warum?
>>
>> In der Doku steht auch:
>> To use create_connection() to connect to a IPv6 address the server socket also should have been created using the address family AF_INET6.
>> Ich verstehe das so, daß du wenn du den Socket mit AF_INET erzeugt hast,
>> nur eine V4 Auflösung gemacht wird und bei Erzeugen mit AF_INET6 nur
>> eine V6 Auflösung. Der Socket kann ja nur entweder V4 oder V6 sein.
>> Der Default für socket.socket ist AF_INET, also wird wohl eine V4 Adresse
>> genommen.
>
> Ich hab nichts (mehr) gemacht als:
>
> sock = socket.create_connection(('flupp.belwue.de',591))
>
> Ich hab also weder AF_INET noch AF_INET6 angegeben.
>
> Genau DAS ist ja meine Frage: was passiert, wenn ich nichts angebe?
>
>
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
socket.create_connection() ipv4 oder ipv6? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2019-06-25 10:11 +0000
Re: socket.create_connection() ipv4 oder ipv6? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2019-06-25 10:29 +0000
Re: socket.create_connection() ipv4 oder ipv6? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2019-06-25 13:16 +0000
Re: [Python-de] socket.create_connection() ipv4 oder ipv6? Julian Gethmann <mail.python.org@gethmann.org> - 2019-06-25 15:42 +0200
Re: [Python-de] socket.create_connection() ipv4 oder ipv6? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2019-06-25 15:46 +0000
Re: socket.create_connection() ipv4 oder ipv6? Florian Weimer <fw@deneb.enyo.de> - 2019-06-29 21:02 +0200
Re: socket.create_connection() ipv4 oder ipv6? Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2019-06-29 20:21 +0000
csiph-web