Beh contrariamente a quanto si pensava prima il problema non è la gestione delle eccezioni quindi il try catch puramente non ti risolve il problema. 
Devi andare a cercare cosa fa la parte di codice che ti segnala, in pratica da questo
	codice:
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2435) 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1245) 
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) 
at netserver.net.MessageReceiver.run(MessageReceiver.java:24)
 
se non sbaglio, dovrebbe voler dire che il problema sta qui:
	codice:
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2435)
 
Quindi devi vedere che fa di preciso questo pezzo di codice e pensare perchè ti da una eccezione sulla fine del file, magari non chiude lo stream quando deve o non so...  :master: 
Ciao.