Avatar
pajamac5
Člen
Avatar
pajamac5:

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
Lukas C#
Redaktor
Avatar
Odpovídá na pajamac5
Lukas C#:

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
Avatar
pajamac5
Člen
Avatar
pajamac5:

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:

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:

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:

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
Filip Šohajek
Redaktor
Avatar
Odpovídá na pajamac5
Filip Šohajek:

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

 
Nahoru Odpovědět 27.9.2015 15:39
Avatar
pajamac5
Člen
Avatar
pajamac5:

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
Filip Šohajek
Redaktor
Avatar
Odpovídá na pajamac5
Filip Šohajek:

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
Avatar
pajamac5
Člen
Avatar
pajamac5:

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
Filip Šohajek
Redaktor
Avatar
Odpovídá na pajamac5
Filip Šohajek:

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

 
Nahoru Odpovědět 27.9.2015 18:04
Avatar
pajamac5
Člen
Avatar
pajamac5:

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
Filip Šohajek
Redaktor
Avatar
Odpovídá na pajamac5
Filip Šohajek:

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

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

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:

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:

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:

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:

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.