Programowanie aplikacji serwer

Transkrypt

Programowanie aplikacji serwer
Programowanie aplikacji serwer-klient
Studia dzienne 2005/2006
Projekt 1
1.
Zadania domowe: lab1, lab4, lab6
Projekt 2
1.
Prosty czat. Uczestnik może zalogować się do serwera za pomocą wybranej nazwy (nickname) i wysłać
komunikat do innych użytkowników przyłączonych do serwera. Przewidzieć dwa typy komunikatów: publiczne i
prywatne. Komunikaty publiczne są wysyłane do każdego użytkownika, komunikaty prywatne tylko do
określonego użytkownika. Przewidzieć funkcję operatora. Operatorem jest pierwsza osoba, która zalogowała się
do serwera. Operator może przypisać swoją funkcję innemu operatorowi, może usunąć dowolnego uczestnika
czatu, może narzucić temat konwersacji. (Jedna lub dwie osoby)
2.
Klient serwera vsftpd obsługujący protokół SSL. Uwzględnić podstawowe polecenia protokołu. (Jedna osoba)
3.
Bezpieczny serwer plików wzorowany na serwerze FTP (użytkownik jest uwierzytelniany, przesyłane pliki są
szyfrowane i dołączany jest do nich podpis cyfrowy). Opracować prostego klienta, który pozwoli przetestować
serwer. (Jedna lub dwie osoby)
4.
Aplikacja służąca do wzajemnego udostępniania plików. Zadania serwera: przyjmowanie nowych klientów oraz
logowanie ich w sieci, prowadzenie bazy danych o udostępnianych plikach, odłączanie klientów od sieci. Zadania
klienta: dołączanie/odłączanie się od sieci, tworzenie listy udostępnianych plików i przekazywanie jej serwerowi,
wyszukiwanie pliku na serwerze i składanie zamówienia na wybrany plik, realizacja złożonych zamówień –
przesyłanie pliku. (Jedna lub dwie osoby)
5.
Projekt własny, zatwierdzony przez prowadzącego.
Uwaga: projekt składa się z programu i dokumentacji. Dokumentacja musi zawierać opis zaimplementowanego
protokołu. Zaleca się ją sporządzić z użyciem doxygen’a (lub innego programu do sporządzania dokumentacji).
Dokumentacja oprogramowania.
Cel - umożliwienie innemu programiście zrozumienie i poprawienie programu.
Dla każdego programu (procedury, funkcji) powinna co najmniej zawierać:
• Nazwę programu;
• Krótki opis spełnianych funkcji;
• Sposób wywołania;
• Opis parametrów:
Ö Nazwa;
Ö Typ;
Ö Wejściowe / wyjściowe;
Ö Znaczenie;
• Zwracana wartość.
• Komunikacja ze „światem”
Ö Pliki wejściowe i co z nich czytamy;
Ö Zmiana stanu plików wyjściowych;
Ö Wykorzystywane zmienne globalne;
Ö Wywoływane procedury i funkcje;
• Opis algorytmu w zrozumiałej formie np. schemat blokowy
•
•
•
•
•
Literatura
D.E.Comer, D.L.Stevens: Sieci komputerowe TCP/IP. t.III Programowanie w trybie klient-serwer, WNT 1997
D.E.Comer: Sieci komputerowe TCP/IP. t.I Zasady, protokoły i architektura, WNT 1997
A.Sopala: Pisanie programów internetowych, Mikom, 2000
W.R.Stevens: UNIX Programowanie usług sieciowych, t.1 , API: gniazda i XTI, WNT 2000
W.W.Gay: Linux, gniazda w programowaniu, Mikom, 2001

Podobne dokumenty