[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Preemptive socket connection monitoring
Maybe create a non-block read() class. Then it can fail out on socket
error.
On Thu, 2002-11-21 at 17:17, Gary Herndon wrote:
> All,
>
> I am currently trying to come up with a good way to check the connection
> behind a socket to make sure it hasn't been dropped. I would like to do
> this without reading/writing the streams and catching the exception. My
> current method of thinking was use the PushBackInputStream as a wrapper for
> the Socket.getInputStream() and then attempt to read/unread 1 byte anytime I
> wanted to know if the socket was up. If the socket was down, the read would
> fail and I could return a FAIL, otherwise, I would just push the byte back
> on the stream, and return a SUCCESS. (I haven't looked too much at Readers
> since my data is not a character stream).
>
> I have 2 questions.
> 1: Is this a good way to handle the problem?
> 2: The problem I see with this method is that the isConnected() method I
> write would block if there was no data on the InputStream... can this be
> prevented?
>
> I imagine that all my problems would be solved with the java.nio of 1.4, but
> currently I have to work on a 1.3 JVM, so please keep that in mind when
> offering suggestions.
>
> Thanks,
> Gary Herndon
>
>
>