Scaletta tesina



Scaricare 0.97 Mb.
Pagina1/11
21.12.2017
Dimensione del file0.97 Mb.
  1   2   3   4   5   6   7   8   9   10   11

Ziliani Fabio, Dosi Andrea 5ª b inf A.S. 2002/2003

Ziliani Fabio e Dosi Andrea 5ª b inf (2002 – 2003)

presentano:

La tesina di informatica per l’esame di

stato: il software di file sharing con la chat



Indice


  • L’idea originale pag. 3

  • Manuale utente

- Parte server pag. 4

- Parte client pag. 6



  • Documentazione tecnica

Parte server: pag. 12

- GestoreClient pag. 13

- GestoreGrafica pag. 14

- Database pag. 14

- RiceviClient pag. 15

- ConServer pag. 16

- ConClienti pag. 17

- Ridir pag. 19

- FileIP pag. 19

Parte client: pag. 20

- Starter pag. 21

- Indirizzo pag. 21

- ScanFile pag. 22

- ConnessioneServer pag. 22

- Utente e DFile pag. 23

- Gestore pag. 23

- GestoreGraf pag. 26

- MandaFile2 pag. 26

- RiceviFile pag. 27

- ChatServer pag. 29

- Chat3 pag. 29



- Stati della connessione al server pag. 31

- Assegnazione delle porte ai client pag. 31

- Ricerca automatica dell’indirizzo del server pag. 31

- Formato messaggi pag. 32

- Ricezione a stati pag. 33

- Richiesta di chat e download di file pag. 34

- Trasmissione dei numeri di porta pag. 34

- Ricezione tramite thread pag. 34

- Protocolli pag. 35

- Il database pag. 36



  • Appendici teoriche

Protocollo ip pag. 38

Indirizzi ip pag. 41

Protocollo tcp pag. 42

Protocollo http pag. 45

Il linguaggio Java pag. 48

Input/Output in Java pag. 49

I thread in Java pag. 51

Le socket in Java pag. 53

Le ServerSocket in Java pag. 53


  • Gli strumenti utilizzati pag. 55

  • Le difficoltà incontrate pag. 55

L’idea originale:

All’inizio di gennaio sono state proposte agli studenti diverse possibilità per la tesina: tra i vari argomenti quello che ci ha più interessato è stato lo sviluppo di un software che permette di condividere file tra diversi computer.

Analizzando il problema ci siamo accorti che lo sviluppo di un software del genere permetteva di includere nel progetto anche altri argomenti proposti; per questo gli argomenti che tratta questa tesina sono:


  • Condivisione file punto a punto

  • Chat (scambio di brevi messaggi istantanei)

  • Gestione di database

Analisi del problema:

Analizzando il progetto ci siamo trovati di fronte al primo problema: per gestire una connessione tra due computer in internet bisogna conoscerne gli indirizzi. Questi indirizzi, in genere, non sono fissi ma cambiano ogni volta.

Appare chiaro che per connettere un computer ad un altro bisogna appoggiarsi ad un altro mezzo di comunicazione per conoscerne l’indirizzo, ma questo non consentirebbe al nostro software di essere autonomo.

Da qui nasce l’esigenza di dividere il progetto in due parti: una parte server e una parte client.
La parte server deve risiedere su un computer ad indirizzo fisso e si occupa di memorizzare gli indirizzi degli altri computer;

La parte client si occupa, invece, dei veri e propri scambi di file e messaggi. L’unico indirizzo che conosce è quello del server, ma tramite esso può ricevere gli indirizzi degli altri computer.


La divisione del progetto nelle due parti client e server ci permette perciò eseguire il nostro software su un qualunque computer connesso ad internet e di comunicare in maniera indipendente, senza ricorrere a nessun’altro servizio di comunicazione.
Considerando che solo la parte client verrà eseguita sui computer degli utenti finali abbiamo deciso di assegnarle meno operazioni da svolgere, demandandole alla parte server. In questo modo gli utenti finali avranno un programma che richiede meno risorse, quindi più rapido.
Elenco dei compiti che svolgono le due parti:

Client Server



Chiama il server per informarlo della sua presenza

Gestisce l’intera lista dei client attivi

Comunica al server i file che intende condividere

Gestisce l’intera lista dei file che i client condividono

Manda le richieste di chat e download al server

Inoltra le richieste ai destinatari

Richiede le ricerche di file al server

Esegue le ricerche nel database

Per sviluppare i due programmi abbiamo scelto il linguaggio java, imparato negli ultimi due anni di scuola.



Manuale utente

Parte server


La parte server non è pensata per essere utilizzata dall’utente finale, ma dal gestore del sistema. L’applicazione è interamente contenuta nel file “Zidois server.jar”; per eseguirla è necessario aver installato le librerie di java (JRE).

Deve anche essere compreso il database “Zidois.mdb” tra i database di sistema. Questa operazione può essere fatta tramite “Origine dati” da pannello di controllo ed è necessario farla una sola volta.

Alla sua esecuzione il programma crea il fle “server.ip”; questo va spostato nel percorso “linux.itis.pr.it/~sziliani/ziodis” per renderlo raggiungibile dai client (rif. Ricerca automatica dell’indirizzo del server).
La grafica del server è stata ridotta all’essenziale per aver più tempo da dedicare a resto del programma.

La schermata “Utenti connessi” mostra i dati sugli utenti attualmente connessi:


  • La colonna Utente mostra il nome dell’utente

  • La colonna IP mostra l’indirizzo IP dell’utente

  • La colonna Stato mostra lo stato lo stato dell’utente

  • La colonna File condivisi mostra il numero dei file che sta condividendo

  • La colonna Dimensione file mostra la dimensione totale dei file che l’utente sta condividendo

  • La colonna Codice database mostra il codice che corrisponde all’utente all’interno del database




La schermata “Attesa utenti” mostra l’elenco degli utenti in fase di inizializzazione. In realtà questa schermata rimane quasi sempre vuota, perché la fase di inizializzazione è molto rapida e gli utenti vengono subito spostati nella lista Utenti connessi.

Si riesce facilmente a vedere gli utenti in attesa quando questi hanno un firewall che blocca le connessioni e richiede la conferma: in questo caso gli utenti rimangono in questa schermata fino a quando non rispondono.




La schermata “Log” mostra i log del server, ovvero le tracce di tutte le operazioni che il programma esegue. Osservando questa schermata si può capire cosa davvero stia facendo il server in quel preciso momento.
Requisiti hardware del programma:

  • Sistema operativo supportato adeguatamente da java

  • Connessione ad internet

  • Librerie di esecuzione java (JRE) versione 1.3 o superiore






Condividi con i tuoi amici:
  1   2   3   4   5   6   7   8   9   10   11


©astratto.info 2019
invia messaggio

    Pagina principale