Problems connecting to a server running on a (sometimes virtualized) Windows machine
***Sorry for using the Term Host & Guest I see that has confused things slightly. By Host I mean Client which listens on your desired port for incoming connections and by Guest I mean Server which attempts to retrieve the IP of your pre-defined Dyndns.org address. Then tries a connection. You may say that's 'backwards' but for my applications scenario that's the fitting method. Since I'm in the United Kingdom my public IP I mentioned starts with 91.
Here's two diagrams to explain if th开发者_开发知识库e Server connections to the Client running on the same OS.
Ubuntu - Linux
Connection over 127.0.0.1 = SUCCESS!
Connection over public IP = SUCCESS!
Windows - Laptop TinyXP - Laptop Vista - VM TInyXP
Connection over 127.0.0.1 = SUCCESS!
Connection over public IP = FAILED!
So the problem is Windows. I've tried the Twisted examples and again they work over local host but not via public IP on Windows so it can't be my script. It can't be the firewall as the two TinyXP installations don't have the default firewall, whilst the Vista laptop did have the default shipped one however I unblocked the process after it popped up prompting me. and thus did not yield any better results.
To forward the port I went to my Orange Livebox's configuration page (192.168.1.1) and forwarded the TCP port 4005. Just as I did for when I tested it on Ubuntu (Instead using the 4004 port) so it can't be that either. I attempted to use wireshark (Found it hard to understand). I started capturing packets on all ports, then fired up the Client followed by the Server. Resulting entries are here http://pastebin.com/ddytpydz
Alas I have no more ideas on what I can do. The twisted version I'm using is one of the latest whilst the Python version is 2.6 Any one have some ideas?
So maybe there is some windows limitations for listenings pors. As far as I remeber some Windows can have max 5 ports open for listening. But I don't remeber exacly.
Sounds like a firewall problem. I would add either the port or python.exe to the approved list.
Are any of the Windows machines joined to a domain?
精彩评论