How do I use "Why Can't I Connect?"
TCP/IP sockets are asynchronous so there is no way to lay out a simple set of rules. The following is a common sequence of events you would expect to see while connecting to a server.
Here is an example of a successful connection to a MySQL server and the steps used.
Try to find the local machine name.
Check for a usable IP address.
A usable IP address has been found. If this fails, the network connection on the local machine has failed.
Bind the socket handle to a system assigned port. Now it can be used to connect.
Set the timeouts.
Resolve the server name to an IP address. If this fails, DNS is down, the server can't be seen from your machine, or the server is not in your host file.
The connection is successful. If this fails, the port is probably blocked by a firewall or the service is not available.
An opening message from the server. Everything looks OK.
We're done, close the connection.
All The Possible Trace Messages
Release 1.12.0
In this release
1. Added SSL / TLS support for IMAP, POP3, SMTP, LDAP, Usenet, and Generic Client connections.
2. Added a trace showing the SSL / TLS certificate information after a connection.
3. Fixed a bug when connecting a Generic Client that expects a response.
Warning: this application links to the openssl libraries. Do not download this application if this is illegal in your country.
The SSL / TLS certificate information trace shows the valid date range and subject information if the trace detail level is set to Medium. The trace additionally shows the issuer information if the trace detail level is set to High.