• Non ci sono risultati.

Reti di calcolatori

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti di calcolatori"

Copied!
2
0
0

Testo completo

(1)

Nome Cognome Matricola_______________________________

Reti di calcolatori

Prova scritta – 6 febbraio 2013

Esercizio 1 [16 punti]

Si vuole realizzare un servizio Web per la raccolta delle iscrizioni degli utenti di una palestra ai turni delle attività di allenamento. Il servizio prevede le seguenti pagine:

1. Un form in cui l’utente può scegliere l’attività di allenamento a cui si vuole iscrivere un menù a scelta singola, i turni scelti da un menù a scelta multipla e inserire il proprio nome. Il form permette di specificare un insieme di turni per una data attività ad ogni invio. Le opzioni dei menù devono essere generate dinamicamente a partire da array. Si assuma un array che contiene la lista (“pilates”, ”aerobica”, ”step”, ”spinning”, ”corpo libero”) per le attività e (“lunedì”, “martedì”, “mercoledì”, “giovedì”, “venerdì”) per i turni.

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. Gli inserimenti fatti dallo stesso utente si uniscono a quelli fatti eventualmente in precedenza.

3. Una pagina di riepilogo che stampa una tabella con il numero di utenti registrati per ogni opzione attività-turno. Per ogni attività si riportano poi tutti i turni che hanno ottenuto il massimo delle registrazioni e si stampano i nomi degli utenti iscritti.

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 [5 punti]

Dato il seguente codice PHP

$a = “1.2”;

$b = “2$a”;

$v = array(‘x’=>$a,’y’=>$b,’z’=>’3$a’);

$sum = $v[‘x’]+$v[‘y’]+$v[‘z’];

indicare quali sono le variabili definite nell’interprete dopo l’esecuzione del codice, con il loro tipo e valore.

Domanda 1 [9 punti]

Indicare come gli agenti coinvolti nel processo di invio, instradamento, ricezione e visualizzazione

dei messaggi di email utilizzano i principali campi di intestazione in un messaggio.

(2)

Nome Cognome Matricola_______________________________

Esercizio 3 [punti 6]

Dato il seguente schema di rete

scegliere la configurazione di rete dell’host 3 (IP, netmask e configurazione di routing) e indicare il contenuto delle tabelle di routing del router R2.

Esercizio 4 [punti 8]

Si vuole definire un formato per l’interscambio dati relativo alle chiamate di soccorso di una centrale operativa. Il file scambiato specifica la lista delle chiamate. Ciascuna chiamata è caratterizzata da un timestamp (dateTime), dal numero di telefono da cui è stata ricevuta (string), dal codice dell’operatore (integer). Alla chiamata è inoltre associata una lista di segnalazioni. Per ciascuna segnalazione è specificato il luogo (string), la descrizione (string) e il livello di rischio (integer). Si proponga la struttura XML necessaria, mostrando un esempio, e si scriva il file XML schema associato.

Esercizio 5 [punti 8]

Si scriva il codice javascript necessario ad implementare la seguente funzionalità in una pagina HTML: cambiando la selezione in un insieme di radio button (elementi <INPUT type="radio">) predefinito (attributo name assegnato), a ciascuno dei quali è associato un valore di colore (es. 4 elementi con valori "red", "green", "blue", "yellow"), si cambia in modo corrispondente il colore dei caratteri delle intestazioni di terzo livello (elementi <H3>). Suggerimenti: il cambiamento della selezione di un radio button genera un evento di tipo “change” e la libreria DOM prevede il metodo getElementsByName.

Esercizio 6 [punti 8]

Supponendo che il riferimento a un socket server UDP sia già disponibile nella variabile int sd scrivere il codice C per implementare il seguente protocollo di comunicazione.

1. Il server attende un pacchetto da un client.

2. Se i dati del pacchetto iniziano con la sequenza di caratteri “STO” si chiama la funzione char *storeBlock(void *blockPtr) passandogli come parametro il puntatore al quarto byte del pacchetto. La funzione fornisce una stringa che viene inviata client.

3. Se il pacchetto inizia con la stringa “LD” si invia al client un pacchetto di risposta con 1Kbyte di dati ottenuti dalla chiamata della funzione funzione void *loadBlock(char

*id), passando come parametro id il puntatore al carattere che segue “LD” nel pacchetto ricevuto.

4. In tutti gli altri casi non si risponde.

5. Dopo aver analizzato il pacchetto ricevuto si ritorna al punto 1

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

172.16.1.0/24 serial 0

serial 0

serial 0 eth 0

eth 0

eth 0

eth 0 eth 1

eth 1 eth 1

Host 11

eth 1 192.168.2.133

199.201.123.1 172.16.1.2

63.128.0.0/9

63.128.0.1

192.168.2.132/30

199.201.123.0/26 172.16.1.4

172.16.1.3

192.168.2.134

199.201.123.128/26 199.201.123.129

199.201.123.192/26 199.201.123.193

63.0.0.0/9 63.0.0.1

Riferimenti

Documenti correlati

e) Per gli importi a titolo di anticipo, l'Assicurato dovrà comunicare la causa della richiesta, l'ammontare della cifra necessaria, il suo recapito e le indicazioni delle referenze

documento di denuncia attestante il danno arrecato, fornito dalla Compagnia Aerea o dal soggetto avente in custodia o deposito il bagaglio. Pro Rata Temporis:

Fra le più gravi novità in materia di immigrazione troviamo l'introduzione del reato di ingresso e/o soggiorno illegale, l'obbligo di dimostrazione della regolarità del

- Solo 9 SM raggiungono il target di % RES nel riscaldamento al 2030 - % Biomassa in calo ma contributo pompe di calore insuff.. fossili - Vari SM sono rimasti molto vaghi sulle

Esempio: se link di 1 Mbit link e ogni utente ha bisogno di 200 Kbps ed è attivo il 5% del tempo, con la commutazione di circuito si possono avere al massimo 5 utenti, mentre con

Nelle reti a commutazione di pacchetto con circuiti virtuali la situazione è la seguente: prima che venga iniziato il trasferimento effettivo dei dati, cioè la spedizione dei

© 2010 Pier Luca Montessoro – Mario Baldi (si veda la nota a pagina 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

Si implementi la funzione ricorsiva void moltiplica (int Q[]) che, utilizzando una libreria di funzioni di accesso alla coda (da implementare) prendendo in input Q, restituisce la