Premetto che io di solito utilizzo gli ObjectOutputStream e ObjectInputStream e faccio uso di classi serializzate per la trasmissione client server, comunque, se il client rimane in attesa dell'input è possibile che sia il server a non inviare i dati... o meglio, a dare la sensazione che i dati siano inviati, ma in effetti essi siano solamente memorizzati in buffer, senza essere fisicamente spediti.

Il mio suggerimento è di provare ad inserire un'istruzione come questa subito dopo il outToClient.writeBytes():
codice:
outToClient.flush();  // Questa istruzione forza l'invio dei dati nel buffer
Non garantisco che il tuo problema sia dovuto a questo, comunque tentar non nuoce.


Ciao.