NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 0:01

Zdravím,po přečtení článku http://www.itnetwork.cz/…-komunikace/
mám 1 otázku.
Pokud chci aby se mohl připojit někdo z jiné sítě musím udělat port forward.Ten jsem udělal v nastavení jsem zadal port 2346 a ip adresu 192.168.1.1.Jenže když dám kámošovi tuto ip adresu nenajde to server.
Nevím jestli 192.168.1.1 není adresa jen pro intranet a pokud ano jakou mu mám dát ip adresu či jestli mám správně nastavený port forward.

Odpovědět
27.9.2015 0:01
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Odpovídá na pajamac5
Neaktivní uživatel:27.9.2015 0:23

192.168.1.1 samozřejmě je pro intranet. V konfiguraci routeru by měla být napsaná veřejná IP. Nebo taky na https://www.whatismyip.com/

Nahoru Odpovědět
27.9.2015 0:23
Neaktivní uživatelský účet
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 0:54

Takže pokudm u dám moji ip z whatismyip.com tak to pujde?

Nahoru Odpovědět
27.9.2015 0:54
Co tě nezabije se tě pokusí zabít znovu.
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 13:28

Tak udělal jsem test a bez úspěchu.
Kódy:
Server

socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Bind(new IPEndPoint(IPAddress.Parse("90.181.x.xxx"), 23466));

            socket.Listen(1);
            Socket accepteddata = socket.Accept();
            data = new byte[accepteddata.SendBufferSize]; 6
            int j = accepteddata.Receive(data);
            byte[] adata = new byte[j];
            for (int i = 0; i < j; i++)
                adata[i] = data[i];
            string dat = Encoding.Default.GetString(adata);
            MessageBox.Show(dat);

Client

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                s.Connect(IPAddress.Parse("90.181.x.xxx"), 23466);
                string q = "Jde tooo";
                byte[] data = Encoding.Default.GetBytes(q);
                s.Send(data);
            }
            catch
            {
                MessageBox.Show("Zase to nejde");
            }

A port forward je nastaven port:23466 ip adresa 192.168.1.1

Nahoru Odpovědět
27.9.2015 13:28
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Odpovídá na pajamac5
Michal Štěpánek:27.9.2015 13:50

Nech si v tom "catch" vypsat chybovou hlášku a ne "Zase to nejde"...

Nahoru Odpovědět
27.9.2015 13:50
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
pajamac5
Člen
Avatar
Odpovídá na Michal Štěpánek
pajamac5:27.9.2015 14:46

Tak tady je chyba
System.Net.Soc­kets.SocketEx­ception(0x8000400­5):Pokus o připojení selhal,protože připojená strana v časovém intervalu řádně neodpověděla , nebo vytvoření připojení selhalo, protože neodpověděl připojený hostitel 90.181.x.xxx:23466.
v System.Net.Soc­kets.DoConnec­t(EndPoint endPointSnapshot, SocketAddress socketAddress)
v System.Net.Soc­kets.Socket.Con­nect(EndPoint remoteEP)
v System.Net.Soc­kets.Connect(I­PAddress address, Int32 port)

Nahoru Odpovědět
27.9.2015 14:46
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Odpovídá na pajamac5
Neaktivní uživatel:27.9.2015 15:39

A nejsi připojený přes providerův NAT?

Nahoru Odpovědět
27.9.2015 15:39
Neaktivní uživatelský účet
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 16:04

Nerozumím jakej NAT máš na mysli.

Nahoru Odpovědět
27.9.2015 16:04
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Odpovídá na pajamac5
Neaktivní uživatel:27.9.2015 16:07

Zapni si v routeru administraci z WAN, a jdi na svoji veřejnou IP. Pokud jsi za NATem, nic se ti nezobrazí. Pokud se ti zobrazí administrace routeru, nejsi za NATem a problém je jinde.

Nahoru Odpovědět
27.9.2015 16:07
Neaktivní uživatelský účet
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 18:00

Zadal jsem svoji public adresu a vyskočí mi přihlášení do routeru.

Nahoru Odpovědět
27.9.2015 18:00
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Odpovídá na pajamac5
Neaktivní uživatel:27.9.2015 18:04

Tak to bude něčím jiným. Máš dobře nastavený port forwarding?

Nahoru Odpovědět
27.9.2015 18:04
Neaktivní uživatelský účet
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 18:06

Ano External/Internal port start/end = 23466 Server IP Address 192.168.56.1 Interface ppp1,ppp0.1

Nahoru Odpovědět
27.9.2015 18:06
Co tě nezabije se tě pokusí zabít znovu.
Avatar
Odpovídá na pajamac5
Neaktivní uživatel:27.9.2015 18:13

Sice v C# nedělám, ale nemá být IPEndpoint 192.168.56.1 ?

Nahoru Odpovědět
27.9.2015 18:13
Neaktivní uživatelský účet
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 18:23

Ne 192.168.56.1 je pro intranet a kámoš se přihlašuje z jiné sítě.

Nahoru Odpovědět
27.9.2015 18:23
Co tě nezabije se tě pokusí zabít znovu.
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 18:42

Tak zkusil jsem změnit ip adresu v serveru na 192.168.56.1 a v clientu 90.181.x.xxx stejný error

Nahoru Odpovědět
27.9.2015 18:42
Co tě nezabije se tě pokusí zabít znovu.
Avatar
vodslon
Člen
Avatar
Odpovídá na pajamac5
vodslon:27.9.2015 22:13

Ahoj, ty potřebuješ nastavit sít, tak aby Ti šlo se dostat z veřejné adresy na počítat. Potřebuješ vyřešit port forwarding na routeru a koukni na nastavení firewallu v počítači a pokud máš na routeru tak i tam , ale tam na obyč domácích nebejvá..a kamarád volá Tvojí veřejnou adresu, která padá na tvojí interní adresu

 
Nahoru Odpovědět
27.9.2015 22:13
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 22:44

Taak tady vám vypíšu všechny ip co se mi o sobě podařilo zjistit
http://www.whatismypublicip.com/ : 90.181.x.xxx
ipconfig v cmd : 192.168.xx.x
http://myexternalip.com/ : 2a00:1028:96d­4:231a:b4ab:xxxx:xxxx:xx­xx

Firewall povolen port 23466
port forward na port 23466

Editováno 27.9.2015 22:44
Nahoru Odpovědět
27.9.2015 22:44
Co tě nezabije se tě pokusí zabít znovu.
Avatar
pajamac5
Člen
Avatar
pajamac5:27.9.2015 22:51

Dle tohoto videa bych měl dát IP v server.exe jako 192.168.1.1 a v clientu 90.181.x.xxx správně?

Nahoru Odpovědět
27.9.2015 22:51
Co tě nezabije se tě pokusí zabít znovu.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 18 zpráv z 18.