Programowanie wizualne PW – LAB5 Wojciech Pieprzyca
Aplikacje klient-serwer Klient-serwer to architektura oprogramowania umożliwiająca rozdzielenie pewnych funkcjonalności, w celu zwiększenia elastyczności i ułatwienia wprowadzania zmian w każdej z części. Polega to na ustaleniu, że pewien zbiór oprogramowania (serwer) zapewnia usługi dla innego zbioru (klienci). Z usług jednego serwera może zazwyczaj korzystać wielu klientów. Zdarza się, że jeden klient może korzystać jednocześnie z usług wielu serwerów. KLIENT zapytanie wynik KLIENT
Aplikacje klient-serwer W Borland Builder aplikacje w architekturze klient-serwer można tworzyć za pomocą tzw. gniazd (sockets). Ten sposób komunikacji pracuje w oparciu o protokół TCP/IP i umożliwia tworzenie, tzw. lekkiego klienta, który oprócz informacji o adresie sieciowym serwera nie przechowuje żadnych sterowników. Do utworzenia programu typu serwer wykorzystywać będziemy komponent ServerSocket (zakładka Internet). Do utworzenia programu typu klient wykorzystywać będziemy komponent ClientSocket (zakładka Internet). Celem laboratorium jest napisanie programu typu komunikator za pomocą którego użytkownicy będą mogli wymieniać się wiadomościami tekstowymi.
Aplikacje klient-serwer Komponent klienta – ClientSocket Główne właściwości: Active – aktywuje/deaktywuje połączenie sieciowe z serwerem, Port – numer portu na którym obsługiwany jest ruch sieciowy, Address – adres ip serwera do którego ma zostać podłączony klient. Główne metody: Open() – próba nawiązania połączenia z serwerem o podanym adresie, Close() – zerwanie połączenia z serwerem. Socket->SendText(wiadomosc) – przesłanie wiadomości do serwera Główne zdarzenia: onConnect – uzyskanie połączenia z serwerem, onDisconnect – zerwanie połączenia z serwerem, onError – wystąpienie błędu połączenia, onRead – odczyt wiadomości przesłanej z serwera.
Aplikacje klient-serwer Komponent serwera – ServerSocket Główne właściwości: Active – aktywuje/deaktywuje serwer tzn. nasłuch na przychodzące wiadomości od klientów, Port – numer portu na którym obsługiwany jest ruch sieciowy, Socket->Connections[indeks] – tablica gniazd w której przechowywane są informacje o podłączonych do serwaa klientach Socket->RemoteAddress – adres ip klienta podłączającego się do serwera ServerSocket1->Socket->ActiveConnections – liczba klientów podłączonych do serwera Główne metody: Socket->ReceiveText – zwraca zawartość odebranej wiadomości Socket->Connections[indeks]->SendText(wiadomosc) – wysłanie wiadomości do klienta o numerze gniazda = indeks
Aplikacje klient-serwer Komponent serwera – ServerSocket Główne zdarzenia: onClientConnect – próba podłączenia klienta do serwera. onClientRead – odczyt wiadomości przesłanej przez klienta.