Am 26.05.2015 um 16:20 schrieb Holger Jeromin:

Wenn der tracer2 server kein v6 socket aufmacht, sollte das josm-plugin
einfach auf 127.0.0.1 statt localhost verbinden. Nicht schön, aber wäre
vielleicht einfacher, als den tracer2 server zu reparieren.


In der Regel gehen Sachen deshalb mit IPv6 / Ipv4 nicht weil ein schlauer Programierer sich gedacht hat: Das mit Ipv6 kenne ich nicht, ich schalte es lieber explizit ab.

Das ist auch bei Tracer2 der Fall, wobei es in diesem Fall nicht (nur?) der Programmierer sondern evtl. der Linux Admin ist.

Bei mir lauscht der Tracer2 unter Linux auf ::1 (IPv6 localhost), wenn ich in meiner /etc/hosts Datei die zeilen:


127.0.0.1               localhost.localdomain localhost localhost
::1  localhost ip6-localhost ip6-loopback localhost6

drinn stehen habe.

Steht bei mir nur:

127.0.0.1               localhost.localdomain localhost localhost
::1   ip6-localhost ip6-loopback localhost6

lauscht er auf 127.0.0.1

Unter Windows mag das anders sein, der der Code nutzt nicht die erste zurückgegebene Adresse sondern die zweite:

./trunk/src/WebServer/Server.cs:
-- snip --

       IPHostEntry host = Dns.GetHostEntry("localhost");
            if (OperationSystem.isWindows)
            {
                if (host.AddressList.Length > 1)
                {
                    oIpAddress = host.AddressList[1];
                }
                else
                {
                    oIpAddress = host.AddressList[0];
                }
            }
            else
            {
                oIpAddress = host.AddressList[0];
            }
            m_oTcpListener = new TcpListener(oIpAddress, m_nPort);

-- snap --

Jetzt java die Schuld in die Schuhe zu schieben, die den IPv6 Standard korrekt umsetzt (und der Standard ist ja auch schon mehr als 20 Jahr alt), empfinde ich als etwas unsportlich.

Gruß

Sven

_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an