WinSock 2.0 - przekierowywanie portów

0

Witam, mam problem z WinSock 2.0. Otóż od pewnego czasu piszę grę - warcaby z możliwością gry przez internet. Wszystko jest ok poza jednym szczegółem. Ostatnio wysłałem koledze klienta żeby przetestować połączenie w grze. Ogólnie działa to tak, że obydwa klienty łączą się z serwerem, wtedy serwer wysyła, dane osoby która połączyła się z serwerem jako druga, pierwszej osobie. Po tym jak osoba która połączyła się z serwerem jako pierwsza otrzyma dane o drugiej osobie łączy się z nią bezpośrednio. Po odpaleniu obydwa klienty rzeczywiście łączą się z się z serwerem. I właśnie tu pojawiają się trudności. Ja jestem podłączony do internetu bezpośrednio kablem (mam stałe łącze z UPC). Kolega ma natomiast internet z ery i odbiera sygnał przez router. Kiedy kolega pierwszy włącza klienta (co jest równoznaczne z tym, że to on otrzyma od serwera dane o mnie i to on będzie się łączył ze mną) wszystko działa jak należy. Jednak na odwrót (kiedy ja włączę klienta pierwszy) to już nie działa. Jednak kiedy kolega podłączy się do internetu bezpośrednio (nie przez router) wszystko działa dobrze. Wygląda na to, że router nie przekierowuje portów. I tu pojawia się moje pytanie. Wiecie może jak można wymusić na routerze, aby przekierowywał porty właściwie? Moglibyście mi wytłumaczyć jak to zrobić? Piszę oczywiście pod Windowsem (XP) w DEV-C++ 4.9.9.2 i jak wcześniej wspomniałem używam WinSocka 2.0 przy tworzeniu modułu sieciowego w grze. Z góry dziękuję za wszystkie podpowiedzi i wskazówki.

0

o dobry jesteś :>
to jest konfiguracja routera i to się kolego ma nijak do programowania :D

0

Ogólne koncepcja jest kiepska - cały czas w komunikacji powinien pośredniczyć serwer, bo jeżeli obaj gracze będą mieli prywatne ip to nie zestawią ze sobą połączenia(do routerów ISP się nie dobierzesz).

Forwardowanie portów to jest konfiguracja routera, programowo tego nie zrobisz.

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