View Single Post
Old 17-07-2006, 12:48   #8
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ti ringrazio per l'interssamento! Certo che ti posto del codice ecco qua, questo è come il server spedisce l'oggetto:
Codice:
	public void scrivi(Dati out){
		try{
			ObjectOutputStream os=new ObjectOutputStream(cs.getOutputStream());
			os.writeObject(out);
			//server.aggiornaLog("\nOUT-"+out.getNick()+" size="+cs.getSendBufferSize());
			os.flush();
		}
		catch(Exception e){
			server.aggiornaLog("\nErrore "+e+" da parte di "+dato.getNick());
		}
	}
se chiudo l'ObjectOutputStream dopo aver spedito l'oggetto mi da sempre errore, come se chiudessi il socket!
Come vedi scrivo lo stesso tipo di dato(Dati).

Il problema forse potrebbe essere causato da un altro pezzo di codice.
Ti spiego, questo server resta sempre in ascolto dai client(ogni client ha il suo thread) e quando arriva un dato da un client il server(usando il codice qui sopra) lo invia a tutti i client che lo ricevano usando il codice postato al primo post.
Potrebbe essere la causa dell'errore? Nota comunque che non posso chiudere nessun sttream perchè mi da sempre l'eccezzione socketclosed.
Se mi connetto con un solo client va tutto benone, con due client gira parecchio tempo ma poi a volte da streamCorrupted, con tre client quasi subito da errore...
MEMon è offline   Rispondi citando il messaggio o parte di esso