Komunikator w Java - prośba o pomoc

0

Witam.
Będzie to mój najwięszy jak do tej pory projekt, dla Was pewnie to są podstawy :). Mam za zadanie napisać komunikator działający na zasadzie podobnej do gg, aczkolwiek nie współpracujący z gg. Jak powinienem się do tego zabrać, tzn komunikator p2p pracujący po IP to nie problem, ale jak zreazlizować komunikację w internecie, dla hostów, które nie mają nadengo zewnętrnego IP, tak jak jest to np w gg... tzn według mnie wygląda to tak ( możę się mylę, więc proszę o sprostowanie i liczę na cenne wskazówki)...Mamy kilku ( kilkuset) klientów, którzy łączą się do serwera o stałym IP i którym, to klientom jest przydzielany jakiś ID, po którym ten klient będzie poźniej rozpoznawany, następnie serwer "przekierowuje" komunikację pomiędzy tych dwóch klientów i łączy ich ze sobą. Czy tak to wygląda? A jeśli tak, to jak wygląda to przekierowanie w jaki sposób serwer połączy tych dwóch klientów, jeśli Oni(hosty) znajdują się np. za routerami? Bo Socket nie jest chyba w stanie obsłużyć połączenia do komputera bez zewwnętrznego IP? Liczę na pomoc.

Pozdrawiam

0

jeśli A i B nie mają publicznego IP to server służy za "przekaźnik" ( A łączy się i coś wysyła, B łączy się i coś wysyła, jeśli wyślą komendę pobrania komunikatów to dostaną to co ktoś do nich wysłał )

jeśli A maja publiczne IP a B nie to server wysyła komendę do A żeby zrobił server a do B adres A

jeśli A i B mają publiczne IP to wybieramy kto zrobi server

takie coś?

bo server by przekierować pakiety od A do B i tak je musi odebrać a łącze ma jakieś ograniczenie =)

0

Ciekawe pytanie. Kurcze w sumie nie pamietam jak to dziala ale wydaje mi sie ze sockety jednak moga dac rade to zrobic. Tam chyba jest cos jeszcze z adresami MAC, ktore identyfikuja komputer w podsieci tablice ARP itp. a to dziala na nizszych poziomach

W sumie fajnie zeby ktos to wyjasnil:) bo to fajny problem jest :d .

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