Sun RPC

Tworzenie usług sieciowych opartych na zdalnie wywoływanych procedurach.

Slajdy do wykładu

Zadania laboratoryjne

Zadanie 1: unicestwianie procesów na zdalnym hoście

  1. Zaimplementować usługę unicestwiania (zabijania) procesów, która udostępni zdalną procedurę przekazywania sygnału nr 9 do procesu o identyfikatorze (pid), przekazanym jako parametr przez klienta.
  2. Zaimplementować asynchroniczną wersję procedury unicestwiania zdalnych procesów.

Zadanie 2: zdalny licznik

  1. Zaimplementować zdalny licznik (sekwenser), czyli zdalną procedurę (właściwie funkcję) zwracającą przy każdym wywołaniu kolejną wartość całkowitą, począwszy od 0.
  2. “Spowolnić” wykonanie funkcji poprzez wywołanie sleep/usleep i sprowokować podzielność generowania kolejnego numeru poprzez uśpienie wątku na kilka sekund i odpowiednie zdekomponowanie operacji zwiększania z wykorzystaniem dodatkowej zmiennej lokalnej.
  3. Przetesotwać działanie licznika przez współbieżne uruchomienie kilku klientów.
  4. Przetesotwać ponownie działanie licznika po odpowiednim skorygowaniu czasy przterminowania (ang. timeout) i czasu retransmisji (ang. retry timeout), za pomocą funkcji clnt_control.

Spis treści

Poprzedni temat

Wprowadzenie

Następny temat

Java RMI

Ta strona