Zadanie 2. Grupa dyskusyjna --------------------------- Termin odbioru: zajecia nr 9. Napisac system klient-serwer obslugujacy asynchroniczna komunikacje miedzy procesami wykonujacymi sie we wspolnej pamieci operacyjnej (czyli na tym samym komputerze). Do komunikacji nalezy uzyc kolejek komunikatow. Klient po skontaktowaniu sie z serwerem (zalogowaniu) moze wysylac i odbierac widomosci od innych zalogowanych klientow. Wyslanie wiadomosci powoduje rozeslanie jej do wszystkich zalogowanych klientow oprocz nadawcy. Wiadomosci sa dostarczane klientom przez serwer tylko na ich zadanie (rzondanie) w takiej samej kolejnosci, w jakiej zostaly nadane do serwera. Nadawca wiadomosci jest wstrzymywany jedynie do czasu odbioru tej wiadomosci przez serwer, a nie odbioru przez inne procesy. Kazda wiadomosc przeslana do serwera "traci waznosc" po czasie k sekund (parametr serwera) od momentu odebrania jej przez serwer. Takiej wiadomosci nie nalezy potem przesylac klientom. Serwer nie powinien w trakcie dzialania wypisywac zadnych informacji na wyjscie. Uslugi dostepne dla klienta: com_login - zalogowanie sie klienta na serwerze, od tego momentu klient moze odbierac widomosci com_logout - odlaczenie klienta od serwera; nieodebrane wiadomosci nalezy usunac z buforow serwera com_send - wyslanie wiadomosci; jesli brakuje miejsca w buforach serwera to operacja jest blokujaca com_receive - odbiera kolejna czekajaca widomosc; wiadomosci, ktore zostaly wyslane do serwera przed zalogowaniem sie klienta, sa traktowane tak jak odebrane i klient nie powinien ich otrzymywac; operacja com_receive jest nieblokujaca (tzn. brak wiadomosci powoduje powrot z funkcji) com_list - dostarcza informacje o zalogowanych klientach W kodzie zrodlowym serwera nalezy umiescic (jako komentarz) krotki opis dzialania serwera. Wszelkie pytania prosze kierowac na adres: pk158016@students.mimuw.edu.pl Powodzenia.