Nome Cognome Matricola_______________________________
Reti di calcolatori
Prova scritta – 25 novembre 2013
Esercizio 1 [9 punti]
Si vuole realizzare un servizio Web per la raccolta dei dati sulla concentrazione di cloro negli impianti di potabilizzazione di un acquedotto. Il servizio prevede le seguenti pagine:
1. Un form in cui si può scegliere l’impianto da un menu a scelta singola, i depositi su cui è stato rilevato il valore misurato da un menù a scelta multipla e inserire il valore di concentrazione (una numero decimale) in un campo di testo. Il form permette di specificare un insieme di depositi per uno stesso impianto ad ogni invio. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“Anconella”, ”Santa Fiora”, ”San Lorenzo”, ”Aniene”) per gli impianti e (“Deposito A”,
“Deposito B”, “Deposito C”, “Deposito D”) per i depositi.
2. Una pagina di raccolta dei dati che memorizza sul server gli inserimenti fatti col form di cui al punto 1 nella stessa sessione di lavoro. Per un dato deposito di un impianto si memorizza il valore massimo fra tutti quelli inviati.
3. Una pagina di riepilogo che stampa una tabella con le misure di concentrazione memorizzate per ogni opzione impianto-deposito. Si riportano per ogni impianto i depositi che hanno ottenuto il massimo valore di concentrazione. Infine, per ogni impianto, si stampano i depositi per cui non è disponibile la misurazione.
Si scrivano il form e le due pagine di raccolta dati e riepilogo usando HTML/PHP. Si supponga di utilizzare il metodo POST nel form.
Esercizio 2 [2 punti]
Dato il seguente codice PHP
$a = 0.1;
$b = “2${a}2”;
$c = array($a,$b,’0.1${a}’);
for($i=0;$i<count($c);$i++) $sum += 0.5*$c[$i];
indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore.
Esercizio 3 [punti 5]
Si vuole definire un formato per l’interscambio dati relativo alle misure di qualità dell’acqua di una
serie di impianti di potabilizzazione. Il file scambiato specifica la lista degli impianti. Ciascun
impianto è identificato da un nome (string) ed ha associato un indirizzo (string) e una lista dei
depositi. Per ogni deposito si specifica il codice (integer), la capienza (decimal), un flag che indica
se è in uso (boolean) e la lista delle misure che sono state fatte. Per ogni misura si specifica il tipo
(string), il timestamp di quando è stata fatta (dateTime) e il valore misurato (decimal). Si proponga
la struttura XML necessaria, mostrando un esempio, e si scriva il file XML schema associato.
Esercizio 4 [punti 4]
Dato il seguente schema di rete
scegliere la configurazione di rete dell’host 5 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R2.
Esercizio 5 [punti 5]
Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: clickando (evento onclick) su una cella di una tabella (elemento TD) viene inserito la suo interno il testo presente in un campo di input (con id predefinito) col colore al momento selezionato in un menu a tendina (con id predefinito).
Esercizio 6 [punti 5]
Descrivere l’interazione fra un client e un server UDP.
Host 1 Host 2
Host 3 Host 4
Host 5
Host 6
Host 7 Host 8 Host 9
Host 10
Internet
R1
R3
R4 R2
10.76.0.0/14 serial 0
serial 0
serial 0 eth 0
eth 0
eth 0
eth 0 eth 1
eth 1 eth 1
Host 11
eth 1 172.16.7.53
199.76.22.1 10.76.7.1
199.76.22.192/26
199.76.22.193
172.16.7.52/30
199.76.22.0/26 10.76.7.3
10.76.7.2
172.16.7.54
153.21.176.0/20 153.21.176.1
199.76.22.64/26 199.76.22.65
153.21.48.0/20 153.21.48.1