Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java Language
Expertise: Beginner
Dec 5, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Testing for Closed Socket

Is there any way to test if a socket is still open without writing to it?

Despite being relatively easy to use, the Socket class is not implemented as well as it might have been. Connections are established at the time the Socket is created, so there is no way to reuse a Socket object after it has been closed.

Nonblocking I/O is not possible, and only a limited number of socket options are available. Among other things, there is no way to test if a socket is still open, the way you can with native function calls.

The only ways you can tell if a socket has been closed are if you read from its input stream and encounter and end-of-file condition (a return value of -1) or an "IOException," or if you write to its output stream and encounter an "IOException."

DevX Pro
Thanks for your registration, follow us on our social networks to keep up-to-date