ciao valia allora questa è la traccia:
Si sviluppi un applicazione client-server che implementa il seguente protocollo:
- Il client legge dallo standard input la stringa f e la invia al server;
- Il server recupera l'indirizzo IP sul quale ha ricevuto la richiesta, cerca tale valore nel file f e restituisce il nome di dominio associato. Se l indirizzo non è presente nel file il server deve restituire la stringa servizio non disponibile; se il file non esiste deve restituire la stringa file inesistente.
L applicazione deve utilizzare socket di tipo stream ed il server deve essere ricorsivo.Il server deve girare sulla porta 4444 e deve utilizzare le opzioni dei socket per consentire il riutilizzo delle porte.
Di seguito un case test del programma.
Supponiamo che il client venga eseguito lanciando il comando
-> client xxx f
Dove xxx è l'indirizzo del server e f è il nome del file il cui contenuto è:
127.0.0.1 www.nomedominio.it
127.0.0.2 mail.nomemail.it
127.0.0.3 ns.nomens.it
se xxx = 127.0.0.1 allora il server risponde con www.nomedominio.it;
se xxx = 127.0.0.2 allora il server risponde con mail.nomemail.it;
se xxx = 127.0.0.4 allora il server risponde con servizio non disponibile;
se xxx = 192.168.10.1 allora il server risponde con connessione rifiutata;
se xxx = 127.0.0.1 e f = rubrica allora il server risponde con file inesistente.
tutto va bene solo che con l'indirizzo 192.168.10.1 non riesco a fargli rispondere con connessione rifiutata.
![]()

Rispondi quotando