Powrót na stronę UNIX

Tematyka zadania: gniazda udp
Rodzaj sprawdzania: na zajęciach
Czas pisania: 70 minut
Sprawdzający: Marcin Borkowski i Przemyslaw Dobrowolski
Autor Zadania: Mateusz Henc

Pinger

Napisz dwie aplikacje: klienta i serwer. Serwer uruchamiany jest z 1 parametrem - numerem portu na którym będzie nasłuchiwał. Jego zadaniem jest odbieranie pakietów UDP przychodzących na podany port i odsyłanie odpowiedzi do nadawcy. Klient zaś uruchamiany jest z 3 parametrami : adres serwera, numer port serwera i ilośc powtórzeń n. Po starcie klient wysyła pakiet do serwera, następnie oczekuje na odpowiedź przez 5 sekund, po jej otrzymaniu lub upłynięciu czasu wysyłany jest następny pakiet, aż do n. Na koniec na standardowe wyjście wypisywane są statystyki w formacie : "Wysłano n, otrzymano k", gdzie k jest ilością pakietów na które otrzymano odpowiedź.

Format pakietu:
klient : "PING\0"ID, gdzie ID jest identyfikatorem pakietu ,np 'P'I'N'G'\0'1'
serwer w odpowiedzi na "PING\0"ID wysyła "PONG\0"ID

Do uwzględnienia:

Uproszczenia:

Wskazówki:
recv, sendto, alarm
W celach testowych warto do serwera wprowadzić zakłócenia i opóźnienia.

Powrót na stronę UNIX