|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 155
|
[java]problema objectOutputStream
Salve a tutti, sto cercando di scrivere una serie di funzioni per rendere più rapido l'utilizzo delle datagramsocket in java, ma ho dei problemi con l'objectOutputStream, per spiegarmi meglio ho scritto questo programmino:
Codice:
public static void main(String[] args) throws IOException, ClassNotFoundException{
Address pippo=new Address("230.0.0.1",54321);
ByteArrayOutputStream buf=new ByteArrayOutputStream();
ObjectOutputStream out=new ObjectOutputStream(buf);
for(int i=0; i<30; i++){
out.writeObject(pippo);
out.flush();
ObjectInputStream in=new ObjectInputStream(new ByteArrayInputStream(buf.toByteArray()));
System.out.println(in.readObject());
in.close();
buf.reset();
}
se alla fine faccio Codice:
buf.reset(); out.close(); out=new ObjectOuputStream(buf); //out.reset(); Qualche idea su cosa stia sbagliando? EDIT: dopo ulteriori ricerche pare che la reset() cancelli una cache di oggetti in objectoutputstream che usa a fini di ottimizzazione, ma non resetta il canale. C'è un modo per forzare objectOutputStream a reinizializzare il canale scrivendo gli opportuni header? Eccetto creare un nuovo oggetto che mi rallenta mostruosamente tutto? Oppure perchè la creazione di un nuovo objectOutputStream mi rallenta così tanto? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:13.


















