Zadanie 2 - poprawkowe
----------------------

Nale�y przy pomocy technik RPC utworzy� trzy programy - klienta i
serwera symuluj�ce przesy�anie danych w sieci token ring oraz program
ko�cz�cy symulacj�. Dodatkowo nale�y napisa� skrypt lub program
przeprowadzaj�cy symulacj�.

Program 1: Serwer
-----------------

Program serwera ma symulowa� dzia�anie no�nika sieci. Zajmuje si� on
przekazywaniem tokena kolejnym komputerom-klientom, przekazywaniem
danych mi�dzy tymi klientami oraz obs�ug� do��czania i od��czania si�
klient�w.

Na pocz�tku wy��cznym posiadaczem tokena jest serwer. Po przy��czeniu
si� pewnej liczby komputer�w-klient�w serwer podaje token kolejnym
klientom. Klient dostawszy token albo go oddaje, albo oddaje wraz z
danymi. Serwer ma za zadanie dostarczy� tak przekazane dane do
wskazanego klienta-odbiorcy. Po przekazaniu danych serwer podaje token
do kolejnego (w stosunku do nadawcy) klienta.
 
Serwer dodatkowo w losowy spos�b 
- op�nia� pakiet, 
- gubi� pakiet
(prawdopodobie�stwo zdarzenia op�nienia oraz cz�sto�� gubienia
pakiet�w maj� by� podawane w parametrach wywo�ania programu
serwera). 

Ka�dy klient b�dzie musia� przed rozpocz�ciem komunikacji
zarejestrowa� si� w serwerze, serwer w wyniku rejestracji podaje
klientowi jego adres (unikalny w�r�d klient�w przy��czonych do danego
serwera).

Serwer udost�pnia za odpowiednim wywo�aniem list� wszystkich
zarejestrowanych u niego adres�w klient�w.

Serwer implementuje tak�e procedur� RPC ko�cz�c� jego prac�. Procedura 
ta jest wywo�ywana przez program ko�cz�cy symulacj�. Procedura ta
przed zako�czeniem programu serwera wypisuje na ekran
- liczb� otrzymanych przez serwer komunikat�w z danymi,
- liczb� wys�anych przez serwer komunikat�w z danymi
- ilo�� bajt�w otrzymanych przez serwer w komunikatach z danymi,
- ilo�� bajt�w wys�anych przez serwer w komunikatach z danymi,
- liczb� przekaza� tokena.


Program 2: Klient
-----------------

Program klienta po uruchomieniu rejestruje si� u serwera, po czym w
losowych odst�pach czasu pobiera list� dost�pnych klient�w od serwera,
losuje jednego z nich i wysy�a do niego za pomoc� komunikat�w
token-ring losowe dane.  Klient mo�e wylosowa� tak�e odbiorc� spoza
listy - jednak zdarzenie to musi by� r�wnie prawdopodobne jak
zdarzenie wylosowania ka�dego innego odbiorcy. Pakiet wys�any pod taki
adres powinien zosta� zgubiony.
 
Po wykonaniu okre�lonej (z wiersza wywo�ania) liczby rund klient ko�czy
dzia�anie i podaje statystyki: ile otrzyma� pakiet�w, ile wys�a�,
ile otrzyma� danych w pakietach, ile wys�a� danych w pakietach oraz
ile razy otrzyma� token.

Program 3: Program ko�cz�cy symulacj�
-------------------------------------

Program wysy�a do serwera ��danie wywo�ania procedury ko�cz�cej symulacj�.


Program/skrypt wykonuj�cy symulacj�
-----------------------------------

Program ten ma uruchomi� z odpowiednimi parametrami serwera, nast�pnie
uruchomi� z odpowiednimi parametrami 100 klient�w, poczeka� a� wszyscy
klienci zako�cz� prac�, a nast�pnie wywo�a� program ko�cz�cy
symulacj�.

Termin: 31.08.2004
Ostatnia modyfikacja: 6.06.2004

Valid HTML 4.01!