Hi there, While working on netty I just noticed that a ServerSocket will keep return true when isBound() is called even after it was closed. Is this by design? I was bit surprised by this honestly as after the socket is closed there is no way it will accept any more connections.
If this is by design should we at least update the java docs ? https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/net/ServerSocket.html#isBound() <https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/net/ServerSocket.html#isBound()> In contrast for DatagramSocket it is directly called out: https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/net/DatagramSocket.html#isBound() <https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/net/DatagramSocket.html#isBound()> So I wonder if it was mainly done the same way for a ServerSocket to be more consistent here or if it is just an oversight. This code shows the behaviour. ServerSocket socket = new ServerSocket(0); socket.close(); if (socket.isBound()) { throw new AssertionError(); } Thanks, Norman