Why would you want to add extra depencies to your application when everything needed is included in the .Net framework? The user have to install the .Net framework wether you'd like it or not, so not using what its providing is a waste. Besides, you're going to be able to get alot more help from the guys in the .Net section of VBforums if you stay with the standard classes.

The reason why your client couldnt connect to the server is because you gave it the external IP, you have to make sure the needed ports are opened and the firewall properly configured.
If you instead of using the external IP, would have used 127.0.0.1 or "localhost", it would've probably have worked better.