Schema base di un compito che richiede di creare C/S in Java utilizzando sia datagram che stream (separatamente). 1) Creo la classe per definire gli oggetti (ad esempio se nel testo ho una tabella) Costruttore che inizializza la tabella come array di array Metodo per cercare un campo della matrice 2) DataGramUtility.java Metodo per creare un pacchetto da una stringa Metodo per recuperare una stringa da un pacchetto Metodo per riempire un pacchetto da mandare al mittente 3) Client Datagram (main) Controllo degli argomenti Creazione della socket datagram + bind implicita alla porta locale Interazione con l'utente Invio richiesta al server (usando DatagramUtility) Ricezione del datagramma dal server (usando DatagramUtility) Stampa a video della risposta (usando DatagramUtility) Chiusura della socket 4) Server Datagram (main) Controllo degli argomenti Creazione socket datagram Ciclo di attesa delle richieste Ricezione del datagramma dal client Lettura delle richieste (usando DatagramUtility) Preparazione linee e invio della risposta al client (usando DatagramUtility) Chiusura della socket 5) Client Stream (main) Controllo degli argomenti Creazione dello stream di input da tastiera Ciclo di richiesta dei dati all'utente Creazione della socket Creazione dello stream di I/O sulla socket Invio richiesta al server (read/write UTF) Termino la connessione 6) Server Stream (main throws IOException) Inizializzazione molte variabili a null Controllo degli argomenti Creazione della socket Ciclo di attesa delle richieste Accept + Timeout ( -> server sequenziale, per evitare che il server si blocchi sulla prima richiesta) Creazione di stream di I/O da socket Ricezione delle richieste Preparazione delle risposte + Invio delle risposte + Chiusura socket