Salve a tutti, non so se la sezione è giusta, sono nuovo del forum, cmq mi presento, sn un fan sfegatato del vostro sito e mi avete dato un'infinità di aiuti in passato, ora però sono un pò in crisi con un esercizio dato che studio all'università. Ora lo posto, se qualche buona anima mi può dare una mano ne sarei felicissimo, grazie a tutti.......
ESERCIZIO 4, rischia di essere grandicello questo codice.
Si realizzi il metodo "String decBencoding(String code);" che realizza la decodifica di una stringa codificata tramite Bencoding e restituisce una stringa leggibile. In particolare si supponga che la stringa passata al metodo contenga una serie di coppie chiave-valore, le quali possono contenere stringhe o numeri in base alla codifica. Il metodo deve far in modo che venga restituita la stringa decodificata ipotizzando di separare le varie coppie con dei CRLF e la chiave dal valore con dei “:”.
Esempio:
stringa in ingresso al metodo: di3e4:abcd5:chiave4:valore
stringa restituita dal metodo: 3:abcd \n chiave:valore
(Suggerimento) È consigliabile realizzare altre sottofunzioni che realizzino singolarmente le varie decodifiche.
Si fornisca un esempio di codifica bencoding per stringhe, interi, liste e dizionari. Si faccia un esempio di mappa in java e si spieghi velocemente come viene gestita dalle Collection.
---------------------------------------------------------------------------------------------------------------------
ESERCIZIO 5
Si implementi un’interazione tra client e server usando il protocollo http, in cui il client H1 deve inviare una http request al web server H2 che implementi il metodo GET. La richiesta è la seguente:
GET url risorsa HTTP 1.1
Host: www.index.poliba.it
If modified since: date
Il web server deve ricevere questa richiesta dal client H1 e nel caso in cui la data di ultima modifica individuata dall’url risorsa sia più recente rispetto a date, allora il server deve rispondere inviando nel corpo dell’http response la risorsa. L’header della risposta deve contenere i campi date e last modified che dovranno essere determinati in base alla data corrente della risorsa appena inviata. Nel caso in cui date sia maggiore della data di ultima modifica il server invierà al client un messaggio che lo informi di tale evenienza.