Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Lothic 23. 12. 2018, 20:00:18

Název: Java chat – připojení na lokální server
Přispěvatel: Lothic 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
Název: Re:Java chat – připojení na lokální server
Přispěvatel: Žirafa 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

Název: Re:Java chat – připojení na lokální server
Přispěvatel: Jenda 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
Název: Re:Java chat – připojení na lokální server
Přispěvatel: L. 24. 12. 2018, 08:05:18
Nojo, termíny odevzdání semestrálek se blíží  :)
Název: Re:Java chat – připojení na lokální server
Přispěvatel: Lothic 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...
Název: Re:Java chat – připojení na lokální server
Přispěvatel: . 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.