Corso di Laurea in
Ingegneria Informatica
Ingegneria delle Telecomunicazioni
Appello di Telematica II
10 settembre 2009
COGNOME:_________________ NOME: __________________ MATR.:_____________ CdL:__________
TEMPO TOTALE A DISPOSIZIONE: 75 minuti
Quesito n. 1 (4 punti)
Si provveda a decifrare le seguenti classi di status code per le risposte FTP evidenziando le rispettive
sottoclassi:
1xx:
2xx:
3xx:
4xx:
5xx:
Quesito n. 2 (4 punti)
Chiarire il significato e la modalità di utilizzo di ciascuno dei seguenti campi tipici di un cookie:
–
Comment:
–
Domain:
–
Path:
–
Secure:
Corso di TELEMATICA II
CdL Ing. Informatica
Ing. delle Telecomunicazioni
Corso di Laurea in
Ingegneria Informatica
Ingegneria delle Telecomunicazioni
Appello di Telematica II
Quesito n. 3 (4 punti)
Si spieghi a cosa fanno riferimento le direttive seguenti e se ne fornisca la corretta interpretazione.
options {
directory "/etc/named";
};
zone "." {
type hint;
file "root.hints";
};
zone "59.216.212.in-addr.arpa" {
type master;
file "pz/212.216.59";
};
Quesito n. 4 (4 punti)
Descrivere in forma schematica la struttura di un file .torrent chiarendo il significato e l’utilità di ciascuna
componente.
Corso di TELEMATICA II
CdL Ing. Informatica
Ing. delle Telecomunicazioni
Corso di Laurea in
Ingegneria Informatica
Ingegneria delle Telecomunicazioni
Appello di Telematica II
Quesito n. 5 (14 punti)
Si realizzi, in linguaggio Java, un metodo che gestisca una connessione POP3 lato server. Il metodo sia
dichiarato come
private void serve(Socket s, Map<String, Mailbox> mail) {
// corpo da implementare
}
i cui parametri hanno il seguente significato:
z s è un socket già correttamente inizializzato e pronto per la comunicazione con il client [si suppone cioè
che la connessione sia stata già stabilita – ad esempio mediante la chiamata al metodo accept di un
oggetto di classe ServerSocket – quando viene chiamato il metodo serve];
z mail è un dizionario (Map) che associa lo username di ciascun utente registrato alla corrispondente
casella di posta, rappresentata da un oggetto di classe it.poliba.sisinflab.Mailbox. Si faccia
riferimento alla documentazione Javadoc riportata sul retro.
Occorrerà sviluppare anche gli eventuali metodi chiamati dal suddetto metodo serve. Non occorre, invece,
sviluppare l'intera classe Java che rappresenta un server POP3 completo.
Il server POP3 dovrà supportare i comandi USER, PASS, STAT, DELE e QUIT. In particolare, occorrerà
rilevare e gestire correttamente i seguenti casi di errore:
z
credenziali non valide;
z
invio di un comando di accesso alla mailbox prima che sia stato effettuato correttamente il login;
z
comando non riconosciuto.
Corso di TELEMATICA II
CdL Ing. Informatica
Ing. delle Telecomunicazioni
Corso di Laurea in
Ingegneria Informatica
Ingegneria delle Telecomunicazioni
Appello di Telematica II
Javadoc
java.lang.Integer
public static int parseInt(String s) throws NumberFormatException
Parses the string argument as a signed decimal integer.
Parameters: s - a String containing the int representation to be parsed
Returns:
the integer value represented by the argument in decimal.
Throws:
NumberFormatException - if the string does not contain a parsable
integer.
java.lang.String
public String substring(int beginIndex)
Returns a new string that is a substring of this string.
java.util.Map<K,V>
public V get(K key)
Returns the value to which this map maps the specified key. Returns null if the map
contains no mapping for this key.
Parameters:
key - key whose associated value is to be returned.
Returns:
the value to which this map maps the specified key, or null if the map
contains no mapping for this key.
java.util.List<E>
public boolean add(E element)
Appends the specified element to the end of this list
Parameters:
element – element to append.
Returns:
true
public boolean contains(Object o)
Returns true if this list contains the specified element.
Parameters:
o – object to look for.
Returns:
true if this list contains the object, otherwise false.
it.poliba.sisinflab.Mailbox
public String getPassword()
Returns the password for the mailbox.
public int getMessageCount()
Returns the number of messages in the mailbox.
public int getTotalLength()
Returns the total length of all the messages in the mailbox.
public void deleteMessage(int index)
Deletes a message from the mailbox
Parameters:
index – the ordinal number assigned to the message within the mailbox.
It must be between 1 and the total number of messages in the mailbox.
Corso di TELEMATICA II
CdL Ing. Informatica
Ing. delle Telecomunicazioni