Simulazione Esame Laboratorio Socket Programming 2
Simulazione Esame Laboratorio Socket Programming 2
Esempio
Realizzare un semplice sistema client/server mediante socket programming che , dato un indirizzo
IP, ritorni classe dell’indirizzo, net ID e indirizzo di broadcast.
Elementi di valutazione:
1. Il codice si avvia (si compila e si avvia se scritto in C)
2. Il server si pone in ascolto
3. Il client si connette al server
4. Viene identificata la classe dell’indirizzo
5. Vengono ritornate correttamente net ID e broadcast address
6. Eventuali errori nell’input sono identificati correttamente
7. Qualità del codice
Informazioni aggiuntive:
● Il tempo a disposizione è di 1 ora
● Il software può essere scritto in C o Python
● Il server non ha parametri da linea di comando e, quando invocato deve mettersi in ascolto sulla
porta 1025 e attendere connessioni
● Il client ha due parametri corrispondenti (1) all’indirizzo del server (in formato FQDN o IP) e (2)
a un indirizzo IPv4 (es, 192.168.1.2)
● Quando invocato il client apre una connessione TCP verso il server e invia una stringa
contenente l’indirizzo IP fornito al client da linea di comando
● Il server, quando riceve i dati dal client ritorna una stringa contenente (1) la classe dell’indirizzo
(A, B, C, D, E), nel caso di indirizzi di classe A, B o C, anche il net ID e l’indirizzo di broadcast.
Le informazioni devono essere separate da spazi. In caso di errore deve semplicemente essere
ritornato una stringa ERROR
● Esempi di funzionamento del programma:
● Input: “10.0.0.1” Output “A 10.0.0.0 10.255.255.255”
● Input: “155.185.10.1” Output “B 155.185.0.0 155.185.255.255”
● Input: “192.168.1.1” Output “C 192.168.1.0 192.168.1.255”
● Input; “192.168.” Output “ERROR”
● Input; “192.257.1.1” Output “ERROR”
● Input; “192.F0.1.1” Output “ERROR”
● Input; “Prova” Output “ERROR”