Prosta wymiana czasu¶
- Poprawiony klient Time Protocol UDP z obsługą przekroczenia czasu na komunikację i retransmisją zapytania.
REUSEADDR¶
Wyłączanie mechanizmu blokującego powtórne użycie tego samego portu:
Prosty serwer plików¶
Wersja TCP¶
Klient przesyła na serwer ścieżkę do pliku, który chce pobrać z dodatkowym bajtem \0x00
na końcu.
Serwer w odpowiedzi przesyła całą zawartość pliku i kończy połączenie.
Kod serwera realizującego ten protokół:
Wersja UDP¶
Klient przesyła na serwer wiadomości, na które serwer odpowiada. Dozowolone wiadomości:
- Pobranie informacji o ścieżce:
- Należy wysłać wiadomość z następującą zawartością:
- Identyfikator transakcji na 8 bajtach (dowolna liczba),
- Zero na 8 bajtach,
- Długość ścieżki na 2 bajtach,
- Ścieżka.
- Odpowiedź składa się z:
- Identyfikator transakcji na 8 bajtach (skopiowany z zapytania),
- Zero na 8 bajtach,
- Liczba fragmentów na które ścieżka jest podzielona na 8 bajtach.
- Należy wysłać wiadomość z następującą zawartością:
- Pobranie pojedynczego fragmentu:
- Należy wysłać wiadomość z następującą zawartością:
- Identyfikator transakcji na 8 bajtach (dowolna liczba),
- Numer fragmentu na 8 bajtach (fragmenty są numerowane od 1 do liczby fragmentów włącznie),
- Długość ścieżki na 2 bajtach,
- Ścieżka.
- Odpowiedź składa się z:
- Identyfikator transakcji na 8 bajtach (skopiowany z zapytania),
- Numer fragmentu na 8 bajtach (skopiowany z zapytania),
- Zero na 8 bajtach,
- Fragment (bajty z odpwoiedniego fragmentu pliku).
- Należy wysłać wiadomość z następującą zawartością:
Kod serwera realizującego ten protokół: