The connection to a peer on a STREAM socket is closed by sending a zero message to the clients ID. The message isn't actually send though. On the other end the socket closing is detected and a zero message is inserted as notification of the disconnect.
This works fine if the peer doing the connect() sends a zero message. But if the peer doing bind() sends a zero message no notification is generated on the other end.