Quick Tour

“Why Can't I Connect?” makes it easy to diagnose TCP/IP connection problems. It traces through all steps of the process and gives error codes, descriptions, and possible solutions for all TCP/IP errors. Language support for Chinese (simplified character set), Czech, Danish, Dutch, English, French, German, Hindi, Italian, Polish, Portuguese, and Spanish.

There are separate selections for application language and trace language. This allows a user to run the application in their native language while creating the trace in the native language of the technician researching the problem. For example, application language: English, trace language: Portuguese.


Connect to common servers


Create a generic client or server

A generic client can connect to any type of server given the right server name / IP Address and port.

Create a generic server to mimic a server on any port (if available.)


Use the advanced menu options to step through the entire socket process (Bind, Connect / Listen, Send, Shutdown, Close)


You may send text or the contents of files on generic, advanced, and bridged sockets



Bridging allows you to insert “Why Can't I Connect?” between an existing client and server. You may then trace / analyze / diagnose the conversation between the two.




Open Multiple Servers

Open servers (listening sockets) across a range of ports.


Ports In Use

Search the computer for ports in use / connected ports, listening ports, reserved ports, and all ports that can not bind.


Resolve an IP address to a name or a name to an IP address


Record and execute scripts

Scripts are a very handy tool for remote debugging and tracking down intermittent problems. A script may be used for remote debugging by simply emailing or copying the script file to the remote location. Script files are fully self contained so no other files are required to remotely run the script. A script may be used to track down an intermittent problem by setting it to repeat. You can also set the script to break on errors so when the intermittent problem occurs, you will see the exact date, time, and type of error. Recording a script is as simple as pressing the Record button, running the test connections, and pressing the Stop Recording button.

Edit a script file

You may also edit and create script files with a simple set of authoring tools.


Find all the named devices within an IP address range


Check the WiFi / wired network login. Launch the default router login page in your preferred browser.

The error pattern for a possible incomplete login is detected on any connection and will query if you would like to launch the login.


Tracing is in both hexadecimal and ASCII. It may be set to the screen and / or a log file. The amount of tracing may be set to 'All', 'Headers And Errors Only', 'Errors Only', or 'None'.



I've tested on Fedora and Ubuntu Linux. Windows XP, Vista, and Windows 7. I am releasing a source tar, 32 bit Windows install exe, 32 and 64 bit rpm, and a 32 and 64 bit deb. The 32 bit Windows executable runs fine in 64 bit Windows systems.


wxWidgets 3.0.x is required to build. Once statically linked, there are no special requirements.


wxWidgets 3.0.x is required.


The "Why Can't I Connect?" Android companion app is now available at Google play and the Amazon Appstore.
Get it on Google Play     Available at Amazon
Android is a trademark of Google Inc.


Under construction.