Si realizzi un'applicazione client-server multi-thread per la gestione delle operazioni di lettura e
scrittura di un file che si compone di R righe. La comunicazione tra applicazione client e server deve
essere realizzata utilizzando le socket offerte dalla libreria java.net:
• L’applicazione client genererà T thread, chiamati ClientThread, ognuno dei quali allo scadere di
un tempo t deciderà di fare un'operazione di lettura o di scrittura. Successivamente, sceglierà in
maniera casuale la riga r su cui fare l’operazione (lettura o scrittura), e contatterà il server
chiedendo di realizzare alla riga r del file l'operazione richiesta;
• L'applicazione server deve essere implementata con una politica multi-threading per consentire
la gestione concorrente delle richieste. La risorsa gestita dal server, il file, viene acceduta
mediante un wrapper, chiamato FileWrapper, in grado di eseguire le operazioni di lettura e
scrittura sul file.

Questa è parte della traccia....ho capito quello che dici tu, che sarebbe più facile così, ma permetti che all'esame devo rispettare quanto chiesto? :P