Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
development:python:windows [2019-04-09 18:02] Martin Prochnowdevelopment:python:windows [2019-04-09 18:03] Martin Prochnow
Zeile 13: Zeile 13:
 makepy.main() makepy.main()
 </sxh> </sxh>
 +
 +===== Nutzung von IPv4 erzwingen =====
 +Unter neueren Windows-Versionen wird unter Python bei der Namensauflösung für Windows-Rechner (z.B. auch //localhost//) zuerst eine IPv6-Adresse zurückgegeben. Wenn der anzusprechende Server aber kein IPv6 spricht, kommt es aufgrund der entsprechenden Timeouts zu Verzögerungen beim Verbindungsaufbau.
 +
 +Eine Lösung wäre es natürlich, IPv6 im Betriebssystem zu deaktivieren. Das hat aber was von "mit Kanonen auf Spatzen schießen". Man kann Python auch dazu überreden, bei der Namensauflösung nur IPv4-Adressen zu berücksichtigen.
 +
 +<sxh python>
 +import socket
 +origGetAddrInfo = socket.getaddrinfo
 +
 +def getAddrInfoWrapper(host, port, family = 0, socktype = 0, proto = 0, flags = 0):
 +    return origGetAddrInfo(host, port, socket.AF_INET, socktype, proto, flags)
 +
 +socket.getaddrinfo = getAddrInfoWrapper
 +</sxh>
 +
 +[[http://stackoverflow.com/questions/2014534/force-python-mechanize-urllib2-to-only-use-a-requests/6319043#6319043|Quelle]]
  
 ===== Windows-Service ===== ===== Windows-Service =====
  • Zuletzt geändert: 2019-07-26 15:02