Advertisement

Is there any software to check what is blocking connection ?

Started by March 31, 2014 06:23 PM
9 comments, last by hplus0603 10 years, 7 months ago

Hello there,

For 2 months I've been trying sfml, enet and other various networking libraries. But none of the mentioned networking programming tools(enet, SFML...) would work for me. I've tried shutting my firewall with open ports for both UDP and TCP connection, but nothing worked. I also tried several computers when trying this but with no success.

I've been running PRECOMPILED samples that came with SDKs so they should be robust and stable.

So Is there any software that can show what is blocking my pc from connecting to other PCs?

PS. I have no router. When using local host all programs work perfectly. Games like CSS, ArmA 2, Fallen Earth can connect to their servers...

Well any suggestions would be appreciated. :D

There are lots of network monitoring software and the options vary depending on the OS you're using. Search for "network monitor" + your OS in google and you'll find a lot. With those programms you can see the packages that your computer sends and receives.

Advertisement

Thanks for suggestion. Gonna try it right away...

The easiest way I know is using netcat, use netcat -l <port> in one computer, then nc <host> <port> in the other.

If the host is not reachable, you can try traceroute to check where is the problem.

I got an enet client/server example working in a VM I rent, I can send you the client/server code if you wish.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).

It isn't clear what experience you have with networking, so apologies if this is stuff you already know. I'm not aware of a single magic tool, but take a look at the following tools:
  • nslookup
  • ping
  • tracert
  • telnet (you'll need any TCP based server running on the destination machine)
  • netcat
  • wget (if you have a HTTP server on the destination machine)
  • wireshark
Some will be installed already on almost any system. This should give you some sense of where in the network stack the problem lies. For the server side, you might want to use tools like netstat or ipconfig/ifconfig to understand what is going on.

It isn't clear whether you are talking about connecting to your PC, or making connections from your PC. Assuming you are talking about trying to host a server on a typical home internet connection, some things to check for include:
  • Your ISP is blocking traffic on an unusual port
  • The outbound router has its own firewall, and that is configured to reject any inbound connections
  • The outbound router is a NAT, and is not configured to forward connections
  • The outbound router is a NAT, but doesn't support connecting to "itself" (i.e. accessing http://my-public-address from "inside" the router doesn't work)
  • The outbound router is configured to go to "sleep" (i.e. release the WAN IP address) after a certain amount of inactivity
  • Your computer is not listening on the relevant IP address (e.g. it might only be listening on the local one)
  • Your computer is not listening on the relevant port
A good thing to try first is an existing popular HTTP server on port 80 - this allows you to test from any browser, some websites will allow you to hit a HTTP URL from outside your network, and you know the problem is not something specific to your program.

Personally, the big hurdle when I tried to do this before was my router. It took quite some time before I tracked down all the settings which interfered with a reliable inbound connection - the "sleep" option was the hardest to figure out, it used to work fine while at home, but when I was away later and tried, it sometimes wouldn't work! I'd recommend going through all of the advanced screens in your router configuration, not just the obvious ones.
One of the best tools I know of to figure out what your computer is sending to the rest of the world, and receiving from the rest of the world, is Wireshark. It's a free download. It's like a GUI for tcpdump (which is also pretty rad, if you're running UNIX.)
enum Bool { True, False, FileNotFound };
Advertisement

I'm running Windows 8.1 x64. And I dont have any experience on networking programming. I also dont know whether the problem is in connecting to other PCs or vice versa. So far I didnt succeed in running your suggested tools properly, but I'm gonna try them all if I have to.

And it would be great if you could send me working samples.

Does a game that supports user servers work? For example, if you host a Quake III server, can you connect to that from the other machine?
enum Bool { True, False, FileNotFound };

Yes, at least the ones that you play in broswers...

I've noticed that my computers have same IP address. Can it be the problem ?

And more, UDP connection can send a message although it never reaches my other computer.

This topic is closed to new replies.

Advertisement