Ich versuche, einen IPv6-Server-Socket in Java 1.6 auf Windows 7, mit diesem Fragmente zu binden:Bindung einen IPv6-Server-Socket auf Windows
ssock = ServerSocketChannel.open();
ServerSocket sock = ssock.socket();
sock.bind(new InetSocketAddress(InetAddress.getByAddress(new byte[16]), 0));
Leider ist dies nicht mit einer IOException: Adresse Familie nicht durch Protokoll unterstützt Familie: bind
Ich verstehe, dass Java mit der Annahme geschrieben wird, dass Windows separate v4 und v6-Stacks verwendet (obwohl Windows 7 nicht), und dass daher ein einzelnes Socket für v4 und v6 nicht funktionieren kann. Dies ist jedoch nicht, was ich versuche zu tun: Ich möchte nur einen v6-Sockel an die Adresse Adresse (d. H. :).
Bearbeiten: Es schlägt auch auf Vista fehl.
Was mache ich falsch?
Wenn ich die "EVALUATION" im verlinkten Fehlerbericht richtig verstanden habe, sollte dies bereits in Java 7 b36 + behoben sein. Ist mein Verständnis richtig? – wilx