Salve,
vorrei sapere se è possibile fare più operazione sugli stessi stream associati ad una socket aprendo una sola volta la connessione, e se ci sono dei modi per ottimizzare questo compito.

Mi speigo meglio.

Creo una socket e associo gli stream di I/O:

Socket s = new Socket("localhost", 1234);
DataOutputStream outToOther = new DataOutputStream(s.getOutputStream());
DataInputStream inFromOther = new DataInputStream(s.getInputStream());

posso fare nel codice:

outToOther.write(..);
inFromOther.read(..);
outToOther.write(..);
outToOther.write(..); ?

Pechè facendo così nel mio codice solo la prima richiesta viene letta bene. Tutte le successive vengono letti valori sballati a caso.

Ah, gli stream vanno associati alla creazione della socket una volta per tutte o vanno ricreati o aperti/chiusi ogni volta che servono?

Grazie a tutti!

Luca.