[C++/Qt]Łączenie się przez internet

0

Hej Bracia

Piszę aplikację,której główną koncepcją jest łączenie się ze stacjonarnym serwerem i czekanie na przeciwnika do gry,po czym,kiedy się on już znajdzie stawianie lokalnej instancji serwera na kompie zakładającego,i to przezeń szedł by cały ruch sieciowy.

Niestety,tu w drogę wchodzi problem prywatnych IP,sieci lokalnych itp...jak takie coś należy obejść?Chodzi mi o jakieś materiały źródłowe do podszkolenia się,bo mi gógle same jakieś nieprzydatności pokazują :-/

0

Jedynym obejściem jest, aby w przypadku gdy oba komputery były pozbawione otwartego portu, przesyłanie ruchu poprzez serwer.

0

Rozumiem Azarienie,że w przypadku jak porty są otwarte to bez serwera o publicznym IP się obywa?

0

"Zamknięty port", czy "za NAT-em", "za firewallem" to stan, w którym komputer nie może przyjąć połączenia przychodzącego. Może jednak ustanowić połączenie wychodzące.
W przypadku gdy oba komputery są w takim stanie, niemożliwa jest pomiędzy nimi bezpośrednia komunikacja, ponieważ żaden nie może przyjąć połączenia zainicjowanego z drugiej strony. Cały ruch musi iść przez serwer.
Gdy tylko jeden komputer ma otwarty port, to może przyjmować połączenia przychodzące. Wtedy połączenie TCP/IP powinien zainicjować komputer bez portu. Komunikacja jest możliwa w obie strony - chodzi tylko o to, który komputer "dzwoni" do którego. Jednak jeśli to komputer "z portem" chce się połączyć z komputerem "bez portu", potrzebny jest serwer żeby poinformować o chęci połączenia, gdyż trzeba je zestawić "do tyłu".

1 użytkowników online, w tym zalogowanych: 0, gości: 1