• Nie Znaleziono Wyników

Programowanie aplikacji klient-serwer Studia zaoczne 2006/2007 Laboratorium 7 1. Załamanie się procesu serwera (trwałe)

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie aplikacji klient-serwer Studia zaoczne 2006/2007 Laboratorium 7 1. Załamanie się procesu serwera (trwałe)"

Copied!
1
0
0

Pełen tekst

(1)

Programowanie aplikacji klient-serwer Studia zaoczne 2006/2007 Laboratorium 7

1. Załamanie się procesu serwera (trwałe)

Dokonaj analizy zachowania się klienta, w przypadku załamania się procesu serwera. Wykorzystaj w tym celu uprzednio opracowane i odpowiednio zmodyfikowane programy klienta i serwera echa TCP: klient czyta wiersz tekstu wprowadzany z klawiatury i przesyła go do serwera, serwer opóźnia przesłanie tekstu do klienta o kilka sekund.

W celu wykonania ćwiczenia wykonaj symulację załamania się procesu serwera na różnych etapach pracy klienta.

a) Proces klienta czeka na wprowadzenie danych przez użytkownika z klawiatury.

b) Proces klienta przesłał komunikat do serwera i czeka na odpowiedź (jest w funkcji read). Czy funkcja zostanie zablokowana "na zawsze", czy też po pewnym czasie (jakim) zostanie zwrócony błąd (jaki) ? c) Proces klienta nadal wysyła dane (jest w funkcji write), mimo, że serwer zakończył pracę. Czy

funkcja zostanie zablokowana "na zawsze", czy też po pewnym czasie (jakim) zostanie zwrócony błąd (jaki) ? Czy też w tym przypadku zostanie do procesu przesłany sygnał SIGPIPE? Co się będzie działo, jeśli sygnał ten zostanie zignorowany lub przechwycony przez proces?

Wskazówki:

ad a) Uruchom serwera i klienta. Wpisz jeden wiersz tekstu. Po otrzymaniu odpowiedzi z serwera, usuń proces serwera. Czy w procesie klienta coś się dzieje? Jaki jest stan gniazda klienta i serwera? Spróbuj przesłać nowy wiersz tekstu do serwera. Co się teraz stanie? Sprawdź przebieg połączenia pomiędzy klientem i serwerem na przykład za pomocą programu tcpdump. Narysuj wymianę komunikatów między klientem i serwerem.

ad b) Uruchom serwera i klienta. Wpisz jeden wiersz tekstu. Usuń proces serwera, zanim odeśle tekst.

Powtórz czynności z poprzedniego punktu.

ad c) Trzeba tak zmodyfikować program klienta, aby nie kończył się w przypadku zakończenia pracy serwera.

2. Załamanie się stacji serwera

Uruchom serwera i klienta na różnych stacjach. Po sprawdzeniu, czy komunikują się ze sobą odłącz stację serwera (fizycznie). Co się dzieje z klientem? Sprawdź za pomocą programu podsłuchującego w sieci (np.

tcpdump) czy wymieniane są komunikaty.

3. Zawieszenie procesu klienta

Uruchom programy serwera i klienta na różnych stacjach. Po sprawdzeniu, czy komunikują się ze sobą

"zapomnij" o kliencie. Co się będzie działo z serwerem? Sprawdź za pomocą programu podsłuchującego w sieci (np. tcpdump) czy wymieniane są komunikaty. Czy włączenie opcji SO_KEEPALIVE coś zmienia?

4. Zmodyfikuj programy klienta i wybranego serwera współbieżnego tak, aby wykrywały brak połączenia:

a) klient i serwer przesyłają komunikaty typu "out of band", w razie braku połączenia zamykają odpowiednie gniazda

b) klient i serwer wymieniają oprócz danych komunikaty o aktywności tym samym łączem, w razie braku połączenia zamykają odpowiednie gniazda

c) klient i serwer mają dwa oddzielne połączenia dla wymiany danych i komunikatów o aktywności Wskazówka:

ad a) Użyj funkcji recv(s,&c,1,MSG_OOB) i send(s,&c,1,MSG_OOB)oraz obsługi sygnału SIGURG oraz SIGALRM.

ad b) i c) Wykorzystaj funkcję select() z ustawionym czasem.

1

Cytaty

Powiązane dokumenty

3.4 Zabrania się łamania prawa Polskiego oraz prawa UE pod groźbą kary zablokowania konta na 1 dzień do permanentnego. 3.4.1 Prawo UE https://europa.eu/european-union/law_pl 3.4.2

Po uruchomieniu klienta (polecenie ftp) pojawia si ę znak zach ę ty ftp>.. 7) Przej ść do katalogu lokalnego /download (polecenie lcd) oraz zdalnego /ftp_pliki

Uwaga! Wykonawca wraz z Ofertą zobowiązany jest dostarczyć szczegółową specyfikację techniczną dla oferowanych Urządzeń umożliwiającą weryfikację

Box.com jest dostępny przez WebDAV, podczas gdy OneDrive jest dostępny za pośrednictwem standardowych narzędzi Windows WebDAV (chociaż jest to potrzebne tylko wtedy, gdy nie

b) wersja 2: serwer wyprzedzająco wieloprocesowy (tworzona jest pula procesów, które są następnie przydzielane do klientów, jeden proces obsługuje jednego klienta). c) wersja

gdzie root_key.pem będzie zawierać klucz prywatny zaś root_request.pem żądanie certyfikatu. b) Wygeneruj certyfikat główny:. $ openssl x509 –req –in root_request.pem

Na stacji roboczej, używając przeglądarki internetowej połącz się z serwerem FTP?. Wykonaj

Opcja ta określa, w którym katalogu będą znajdować się skrypty serwera (zawartość katalogu traktowana jest, jako aplikacje).. AddHandler