Java chat – připojení na lokální server

Lothic

Java chat – připojení na lokální server
« kdy: 23. 12. 2018, 20:00:18 »
Ahoj,
dokončil jsem chatovou aplikaci v javě fx. Celou dobu jsem vyvíjel s tím, že server i klienti běží na localhostu, takže všechno šlo v pohodě. Dneska jsem to chtěl vyzkoušet už "na ostro", nicméně problém je, že se nikdo nemůže připojit na server, který jsem zkoušel rozběhnout na stolním PC.

Čili jsem zkusil udělat následující:

1. Našel jsem si v ipconfig /all Ipv4, masku, dns, default gateway
2. V nastavení adapteru jsem změnil Ipv4 (vlastnosti) těmi hodnotami, které tam byly vypsané + Ipv4 adresu jsem změnil na tu adresu, co byla psaná v tom výpisu a poslední číslici jsem zvýšil o 10.
3. Poté jsem šel do prohlížeče do nastavení routeru. Dal jsem forwarding: ServicePort = 5000, Internal Port = 5000; IP adresu tu, kterou jsem zadal do toho nastavení IPv4, Protocol UDP i TCP, Status = enabled...

Bohužel bez účinku, pořád se nikdo nemůže připojit...
Jak to řešit? Nebo co jsem udělal blbě a jak to mám udělat dobře, aby to šlo?
Děkuji
« Poslední změna: 23. 12. 2018, 21:34:04 od Petr Krčmář »


Žirafa

Re:Java chat – připojení na lokální server
« Odpověď #1 kdy: 24. 12. 2018, 01:52:38 »
Já si tipnu, že jsi zapomněl změnit IP v serverové části aplikace: tvůj server očekává komunikaci pouze na localhostu a ne na IP adrese počítače, na kterém by byla aplikace dostupná na síti. Nastav aby serverová aplikace poslouchala na 0.0.0.0

https://en.wikipedia.org/wiki/0.0.0.0


Jenda

Re:Java chat – připojení na lokální server
« Odpověď #2 kdy: 24. 12. 2018, 06:16:18 »
netstat -tlpn, pokus o telnet na ten port odjinud, tcpdump na zdrojovém, cílovém počítači i na tom routeru co dělá forwarding

L.

Re:Java chat – připojení na lokální server
« Odpověď #3 kdy: 24. 12. 2018, 08:05:18 »
Nojo, termíny odevzdání semestrálek se blíží  :)

Lothic

Re:Java chat – připojení na lokální server
« Odpověď #4 kdy: 25. 12. 2018, 22:03:05 »
Já si tipnu, že jsi zapomněl změnit IP v serverové části aplikace: tvůj server očekává komunikaci pouze na localhostu a ne na IP adrese počítače, na kterém by byla aplikace dostupná na síti. Nastav aby serverová aplikace poslouchala na 0.0.0.0

https://en.wikipedia.org/wiki/0.0.0.0

Toto bohužel nepomohlo. Můj kod na straně serveru vypadá takto:

Kód: [Vybrat]
public void start() {
        try (ServerSocket serverSocket = new ServerSocket(5000, 100, InetAddress.getByName("0.0.0.0"))) {

            while (true) {
                ClientHandler clientHandler = new ClientHandler(serverSocket.accept());
                new Thread(clientHandler).start();
            }
        } catch (IOException e) {
            e.printStackTrace();
            System.exit(1);
        }
        }

Klient se snaží napojit na tu adresu, kterou jsem nastavil do toho port forwarding v tom routeru...


.

Re:Java chat – připojení na lokální server
« Odpověď #5 kdy: 25. 12. 2018, 23:16:06 »
Na lokální síti použiješ lokální adresu a port forwarding nepotřebuješ.
Jinak (z Internetu) se klient připojuje na veřejnou adresu toho routeru a port forwarding na routeru přesměruje ten port na určenou adresu:port v lokální síti.