2011-01-15 4 views
1

*** Entschuldigung für die Verwendung des Term Host & Gast Ich sehe, dass die Dinge etwas verwirrt hat. Mit Host meine ich Client, der auf dem gewünschten Port nach eingehenden Verbindungen lauscht und mit Guest meinen ich Server, der versucht, die IP Ihrer vordefinierten Dyndns.org Adresse abzurufen. Dann versucht eine Verbindung. Sie können sagen, dass das "rückwärts" ist, aber für mein Anwendungsszenario ist das die passende Methode. Da ich in Großbritannien bin, beginnt meine öffentliche IP-Adresse mit 91.Probleme bei der Verbindung mit einem Server auf einem (manchmal virtualisierten) Windows-Rechner

Hier sind zwei Diagramme, um zu erklären, ob die Serververbindungen zum Client auf demselben Betriebssystem ausgeführt werden.

Ubuntu - Linux

Verbindung über 127.0.0.1 = ERFOLG!

Verbindung über öffentliche IP = ERFOLG!


Fenster - Laptop TinyXP - Laptop Vista - VM TinyXP

Verbindung über 127.0.0.1 = ERFOLG!

Verbindung über öffentliche IP = FAILED!


So ist das Problem von Windows. Ich habe die Twisted-Beispiele ausprobiert und sie arbeiten wieder über den lokalen Host, aber nicht über die öffentliche IP-Adresse unter Windows, so dass es nicht mein Skript sein kann. Es kann nicht die Firewall sein, da die beiden TinyXP-Installationen nicht die Standard-Firewall haben, während der Vista-Laptop den Standard-Versand hatte, aber ich entsperrte den Prozess, nachdem er aufsprang und mich aufforderte. und brachte somit keine besseren Ergebnisse.

Um den Port weiterzuleiten, ging ich zur Konfigurationsseite meiner Orange Livebox (192.168.1.1) und leitete den TCP-Port 4005 weiter. Wie ich es bei Ubuntu getestet habe (statt den 4004 Port zu benutzen) t sei das auch. Ich habe versucht, wireshark zu verwenden (fand es schwer zu verstehen). Ich fing an, Pakete an allen Ports zu erfassen, und startete dann den Client, gefolgt vom Server. Die resultierenden Einträge sind hier http://pastebin.com/ddytpydz

Leider habe ich keine Ideen mehr, was ich tun kann. Die verdrehte Version, die ich benutze, ist eine der neuesten, während die Python-Version 2.6 ist. Irgendwelche Ideen?

+0

Wie kann der Gast keine Verbindung herstellen? Was sagt der Drahtseilhai über den Gast? Was ist mit dem Gastgeber? –

+0

Ich kann nicht herausfinden, wie man wireshark (doh!) Arbeitet. – Morphine

+0

Wenn Sie "Host - Gast" sagen, beziehen Sie sich auf eine virtuelle Maschine (Gast) auf physischer Hardware (Host), oder meinen Sie eigentlich ein Programm, das (Client) mit einem anderen Programm verbindet, das irgendwo anders läuft (Server)? Und was meinst du mit "over public IP"? Meinst du "die Verwendung der (möglicherweise hinter NAT) IP, die einer der Schnittstellen der Maschine zugewiesen ist", oder meinst du "über das öffentliche Internet geroutet" oder etwas anderes? Was ist die "richtige" IP-Adresse? Was ist Ihre Netzwerktopologie? Was meinst du mit "die" Firewall - nur Windows-Firewall, oder hast du eine physische Firewall-Gerät? – Glyph

Antwort

1

So gibt es vielleicht einige Windows-Einschränkungen für Listensports. Soweit ich mich erinnere, können einige Windows maximal 5 Ports zum Hören geöffnet haben. Aber ich erinnere mich nicht genau.

+0

Die Grenze ist die Anzahl der gleichzeitigen Verbindungen.Siehe http://support.microsoft.com/kb/314882 – John

0

Klingt wie ein Firewall-Problem. Ich würde entweder den Port oder python.exe zur zugelassenen Liste hinzufügen.

Sind alle Windows-Computer einer Domäne beigetreten?

+0

Ja, ich habe versucht, die Firewall zu deaktivieren, keine von ihnen sind mit einer Domäne verbunden. – Morphine