jak ustanowic polaczenie klient serwer gdy...

0

no wlasnie... gdy zarowno klient jak i serwer znajduja sie wewnatrz sieci lokalnej, przy czym sa to dwie rozne sieci...

generalnie chodzi o polaczenie tcp, chodzi mi o zasade i odpowiedz na pytanie czy to jest w ogole mozliwe... przy uzyciu socketow w dowolnym jezyku programowania... domyslam sie ze klient ma prawo byc wewnatrz sieci lokalnej (np skype, gadu-gadu), a serwer ma prawo?

ja robilem to tak:
serwer nasluchuje na:

  • IP: 0.0.0.0 (Any), lub 127.0.0.1 (localhost), lub 192.168.10.2 (jego wewnetrzne ip)
  • port: dowolny, ale na sztywno podany w kodzie (np. 9876)
    klient laczy sie z:
  • adresem ZEwnetrzyn serwera
  • portem na ktorym nasluchuje serwer, czyli 9876
  • przy czym jest przekierowanie na ruterze sieci do ktorej nalezy serwer portu 9876 na adres 192.168.10.2

Czy to powinno w ogole dzialac? moze o czyms zapomnialem? czy przekierowanie od strony klienta tez powinno byc? jesli tak to jakim cudem dzialaja takie aplikacje jak skype, gadu-gadu itp, skoro one do rutera nie maja dostepu i nie moga sobie przekierowac portow... hmmm HELP

0

zapomnialem dodac ze to co ja robilem mi nie dziala... hmm stad cala afera

0

Mógłbyś się postarać i zrozumiale napisać o co Ci chodzi.

Jeżeli serwer jest w sieci lokalnej, to aby komputery spoza sieci miały do niego dostęp, potrzeba ustawić przekierowanie portów na routerze - jeśli mamy do niego dostęp.

Jeżeli serwer jest w sieci lokalnej, a my nie mamy dostępu do routera, to nic spoza sieci nie może się do niego podłączyć.

Komunikację dwóch hostów będących za dwoma różnymi NATami możesz rozwiązać za pomocą serwera proxy, albo poprzez serwer mediacyjny korzystając z protokołu UDP.

TCP ściśle nadzoruje transmisję, ale UDP już nie. Jeśli wyślesz w sieć pakiet UDP, to na routerze pozostaje "okno zwrotne", na które mogą nadawać inne maszyny, czyli także komputery będące za innym NATem.

Aplikacje takie jak Skype, GG itd. działają, bo podłączają się do serwera nie będącego za NATem.

0

CyberKid po UDP można się komunikować będąc za natem - true, ale do samego nawiązania połaczenia potrzebujesz czegoś, co będzie widziane z obu "końców" połączenia (chyba, że to miałeś na myśli pisząc serwer mediacyjny).

BTW norman to pytanie było nie raz i wypadało by najpierw trochę poszukać

0

chyba juz rozumiem o co chodzi, na ruterze przekierowalem sobie porty na moj serwer, ale za ruterem jest IP prywatne, mojego ISP, a nie publiczne...

0
Misiekd napisał(a)

CyberKid po UDP można się komunikować będąc za natem - true, ale do samego nawiązania połaczenia potrzebujesz czegoś, co będzie widziane z obu "końców" połączenia (chyba, że to miałeś na myśli pisząc serwer mediacyjny).

Tak. Serwer mediacyjny, to taki do którego podpinają się obie maszyny i otrzymują swoje IP+port na UDP potrzebny do komunikacji. Reszta natomiast odpywa się p2p :)

Ostatnio zastanawiałem się też nad użyciem proxy SOCKS5 do pobrania portu UDP. Wtedy możnaby port i IP przesłać drugiej osobie np. używając komunikatora internetowego.

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