# IPv6



## H-net (17. Apr 2009)

Hi....

ich habe teilweise einen eigenen ftp-server programmiert. unter windows(da wo ich es programmiere) geht der auch soweit.

aber unter linux funktioniert der aufbau der passiven verbindung nicht.

```
try {
            ssocket = new ServerSocket(0, 1, InetAddress.getLocalHost());
        } catch (Exception e) {
            System.out.println(e);
            return null;
        }
        
        localPort = ssocket.getLocalPort();
        highPort = localPort >> 8;
        lowPort = localPort & 0xff;
        System.out.println(ssocket.getInetAddress().getHostAddress());
```
das gibt *0:0:0:0:0:0:0:1* aus.

ich möchte aber gerne eine IPv4 adresse haben. (und die sollte doch nicht nur aus 0en bestehen oder?)

wo is da der fehler?

//edit:
wenn ich ein ssocket.accept() mache, dann bleibt er da einfach stehen und nimmt  verbindung nicht an(keinerlei fehlermeldung)
gruß


----------



## Chumax (18. Apr 2009)

```
Properties props = System.getProperties();
        props.put("java.net.preferIPv6Addresses", "false");
        props.put("java.net.preferIPv4Stack", "true");
```

​ 
probier das mal aus


----------



## H-net (18. Apr 2009)

hi...

ne, macht leider keinen unterschied... immernoch ipv6 und er führt den accept nicht aus...

gruß


----------



## HoaX (18. Apr 2009)

H-net hat gesagt.:


> hi...
> 
> ne, macht leider keinen unterschied... immernoch ipv6 und er führt den accept nicht aus...
> 
> gruß



Du versuchst schon vom selben Rechner aus darauf zu zugreifen? Oder evtl. blockiert netfilter das ganze?


----------



## H-net (19. Apr 2009)

nein, ich versuche es nicht vom gleichen rechner aus, da der rechner nur über komandozeile verfügt, und ich keinen ftp-client gefunden habe, mit dem ich das per kommandozeile testen kann

es durften aber keine netfilter aktiv sein, habe es auch einmal mit allen netfiltern deaktiviert probiert.... das gleiche...

kann es sein, das er irgendwie auf eine ipv6 verbindung wartet, und er deshalb keine ipv4 annimmt? 

und warum kommt bei gethostadress eine ipv6-adresse raus die aus lauter nullen besteht? - da stimmt doch was net oder?

gruß


----------



## faetzminator (19. Apr 2009)

::1 ist localhost, also durchaus eine legale IPv6 Addresse


----------



## HoaX (22. Apr 2009)

> ```
> new ServerSocket(0, 1, InetAddress.getLocalHost());
> ```


Da du ja scheinbar den Server nur auf Localhost lauchen lässt dürfte es von einem anderen PC aus schwer werden zu verbinden, egal ob ipv4 oder ipv6...

btw: ncftp und lftp sind wohl die gängigsten konsolenclients. der midnight commander kanns aber auch


----------

