A couple of thoughts:
Is there a firewall involved? Sometimes it is easy to forget that most newer Windows installations have a built in firewall. I don't know if you are using Windows but if you are, it might be.
Can use use a protocol analyzer to see which side of the connection is initiating the close. Wireshark is a good one that runs on Windows but you also have to be careful here as most modern hubs are actually switches, so monitoring anything but your connect is difficult. But if you can monitor the connection and assuming that the connection is a TCP connection, then you will see which ever side either sets a RST flag or a FIN flag in the TCP connection. This might give you a clue as to where to look further.
[Message sent by forum member 'bbergquist' (bbergquist)]
http://forums.java.net/jive/thread.jspa?messageID=255380