SecureBlackbox 16: Why does the Active property return true when the connection has closed?


The Active property, when set, indicates that the connection was successful and the component was ready to perform its actions. However, if the connection was lost at the socket level, the Active property could still be True. This is because at the socket level there's no way to be notified that the connection is closed. The only way to check the actual connection state is to attempt to send something and get an error in case the connection has been closed. This is by design (of TCP/IP).

Your code should always be ready to handle unexpected disconnections and other network errors and reconnect if needed.

We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@nsoftware.com.