Serwer pośredniczy w wysyłaniu wiadomości, czyli odbiera wiadomość od klienta 1 i przesyła go na numer IP klienta 2, tak jak to opisałem w kursie
Prosty komunikator sieciowy.
Inny sposób Serwer rejestruje tylko IP i przesyła do rozmówcy, czyli Rozmówca_1 łączy się z serwerem Serwer rejestruje jego IP (Rozmówca_1=IP), Rozmówca_2 łączy się z serwerem, serwer rejestruje jego IP (Rozmówca_2=IP) wysyła do Rozmówca_1 IP Romówca_2, czyli 1 zna już IP 2 więc może mu wysyłać wiadomości bezpośrednio pod jego IP bez udziału serwera, tak samo postępuje z Rozmówc_2, gdy już obydwaj znają sowje IP mogą przesyłać sobie wiadomości bezpośrednio pod swoje IP. W tym rozwiązaniu serwer tylko pośredniczy w połączeniu komunikacji, obydwaj rozmówcy muszą działać w trybie klient-serwer i obydwaj muszą nawiązać między sobą połączenie w tych dwóch trybach.
Kluczem do przesyłania wiadomości jest IP klienta, któremu chcemy wysłać wiadomość.
Komunikator opisany w kursie właśnie tak działa, może być jednocześnie i klientem i serwerem.
Czego nie rozumiesz? Wiadomości są wysyłane przez funkcję SendText pod wybranego - podłączonego - klienta określonego przez funkcję Connections[numer_klienta_na liście]. Nic się tutaj samo nie zrobi, gdyż Sockety tylko przesyłają i odbierają komunikaty, niczego nie rejestrują, nie zapamiętują, nie rozróżniają. Cały mechanizm obsługujący musisz sam stworzyć i włączyć w niego sockety. Sockety tylko podłączają, odłączają, oczekują na komunikat, odbierają komunikat. To proste biblioteki, bez żadnych zaawansowanych funkcji, dlatego w nowszych wersjach BCB już ich nie ma. Ja używam BCB v. 10 i nie ma u mnie już socketów, zamiast nich są inne bardziej złożone, mniej uniwersalne, a przez to jest ich więcej.