kampar Temat założony przez niniejszego użytkownika |
Przekierowywanie portów » 2012-06-16 18:06:42 Witam, obecnie pracuję nad komunikacją klient <-> serwer przy pomocy pakietów UDP. Wiem, że chcąc założyć serwer trzeba przekierować port na swoim routerze, aby móc odbierać pakiety. Jednak zastanawia mnie jedno: Dlaczego grając w jakąś grę multiplayer na swoim komputerze (np. Quake 3) nie muszę przekierowywać żadnego portu. Przecież klient też musi odbierać dane. Co prawda tworzy się wyjątek w zaporze systemu, ale skąd router wie, że ma przekierowywać te pakiety? |
|
xevuel |
» 2012-06-16 18:11:21 Wiem, że chcąc założyć serwer trzeba przekierować port na swoim routerze |
Co? Kurs WinSock, C++ |
|
kampar Temat założony przez niniejszego użytkownika |
» 2012-06-16 18:34:40 chodziło mi o działający serwer, który odbiera pakiety spoza sieci wewnętrznej. Zresztą to nie jest ważne w moim pytaniu. |
|
xevuel |
» 2012-06-16 18:42:06 chodziło mi o działający serwer, który odbiera pakiety spoza sieci wewnętrznej. |
No to raczej logiczne. Tworząc aplikację sieciową (serwer/klient) nie trzeba nic grzebać przy routerze. Wystarczy "zainstalować" gniazdo. Przeczytaj ten kurs. I szczerze mówiąc nie jestem pewny czy w tym wypadku UDP to dobry wybór. skąd router wie, że ma przekierowywać te pakiety? |
A jak masz router wi-fi, i łączysz się do internetu z dwóch komputerów, to jest tak, że możesz otrzymać to, co zażyczyłeś sobie z drugiego komputera? Raczej nie. On "wie", z/do jakiego komputera było wysyłane żądanie. A jeśli chodzi o "przekierowanie" do portu, to chcąc się połączyć musisz podać numer tego portu. |
|
kampar Temat założony przez niniejszego użytkownika |
» 2012-06-16 19:01:04 Posiadam liveboxa. Jeżeli na moim komputerze uruchomię program nasłuchujący na określonym porcie, a na drugim komputerze, który jest na zewnątrz mojej sieci LAN i wyśle pakiet na dany port i moje publiczne ip to do mojego komputera nic nie dojdzie. Router dostanie pakiet i nie prześle go dalej, bo nie będzie wiedział, że tak trzeba zrobić. Tak więc przekierowywanie portów na routerze jest konieczne. |
|
xevuel |
» 2012-06-16 19:07:58 Aha, o to ci chodzi :) Źle cię zrozumiałem, ale poszukać zawsze można: Dokładnie nie powiem, bo to zależy od modelu routera (z tego co znalazłem), ale jest tam kilka interesujących linków. grając w jakąś grę multiplayer na swoim komputerze (np. Quake 3) nie muszę przekierowywać żadnego portu |
Myślę, że Quake łączy się z routerem i automatycznie przekierowuje pakiety do danego portu. Chociaż nigdy nad tym nie myślałem. |
|
pekfos |
» 2012-06-16 19:14:03 W sieci LAN nie trzeba nic przekierowywać, bo używa się adresów lokalnych. Poza LAN trzeba przekierowywać, by móc postawić serwer(By ruter wiedział gdzie przekierować połączenia przychodzące pod dany port). Oczywiście po stronie klienta nic nie trzeba robić. To tyle. grając w jakąś grę multiplayer na swoim komputerze (np. Quake 3) nie muszę przekierowywać żadnego portu |
Jak postawisz serwer u siebie, to nikt spoza (wirtualnej) sieci lokalnej się nie połączy. Myślę, że Quake łączy się z routerem i automatycznie przekierowuje pakiety do danego portu. |
Dziwnym trafem każdy (dobry) ruter wymaga hasła admina sieci by coś takiego ustawić.. |
|
kampar Temat założony przez niniejszego użytkownika |
» 2012-06-16 19:16:11 No właśnie o to chodzi, jak uniknąć zmuszania klientów do grzebania przy routerze. Quake nie może automatycznie przekierowywać portów, bo nie ma dostępu do routera (gdyby tak było to firewall by nie miał sensu). Więc jak on to robi?
EDIT:
Dlaczego nikt z zewnątrz się nie połączy? Posiadam zewnętrzne ip, i mam u siebie przekierowany port i jak ktoś wysyła mi pakiet to dociera. Problemem jest, że nie wiem dlaczego u klientów nie trzeba nic ruszać? Przecież serwer i klient tak naprawdę niewiele się od siebie różnią. Oba muszą wysyłać i odbierać pakiety. A żeby klient odebrał jakiś pakiet to musi on przekierować port. |
|
« 1 » 2 3 |