Witam,
Chciałbym się dowiedzieć, jak działają komunikatory internetowe, a konkretniej połączenie i przesył wiadomości. Szukałem sporo w internecie, jednak nie znalazłem konkretnej odpowiedzi.
Przejdę więc do konkretów, i przedstawię kilka wizji, jak mi się wydaje, że to działa:
Klient A ma numer 1234, klient B ma numer 4321. Klient A loguje się, na serwerze pod numerem 1234 zostaje zapisane jego IP. Podobnie, gdy loguje się klient B. I teraz A chce wysłać coś do B:
- pyta serwer o adres IP od B, a następnie tworzy się połączenie między A i B, i przesyłają dane
- Klient A wysyła wiadomość na serwer, a następnie serwer przesyła ją do B
Która z tych opcji (a może jeszcze inna) jest w praktyce używana?
Kolejny problem, to nie wiem jak to się wszystko ma do tego, gdy serwer jest w innej sieci lokalnej niż klient? Jak wtedy realizowane jest połączenie?
Nie oczekuję tutaj gotowego kodu, a jedynie wskazówek naprowadzających mnie na odpowiedzi, jakichś linków.
Bardzo dziękuję każdemu za pomoc
Pozdrawiam