Python: Senden von Daten zwischen zwei Computern über Sockets

8

Ich arbeite an einem Skript, das die Daten zwischen zwei verschiedenen Computern mit Zugang zum Internet übertragen würde. Ich benutze Pythons Socket-Standard-Modul. Es funktioniert gut, wenn ich sowohl Client und Server auf einem einzelnen Computer ausführen, aber ich bin nicht in der Lage, die Dinge funktionieren, wenn sie auf verschiedenen Computern ausgeführt werden.

Hier ist ein Teil meines Server-Codes:

%Vor%

Und hier ist ein Teil meines Kundencodes:

%Vor%

Wenn ich diese Skripts auf zwei verschiedenen Computern mit Internetzugang ausführe, kann der Client keine Verbindung herstellen und löst einen Fehler aus, und der Server wartet immer auf Verbindungen.

Was mache ich falsch?

    
Piotr Dabkowski 22.12.2012, 22:48
quelle

1 Antwort

7

Das hat wahrscheinlich nichts mit Ihrem Code zu tun, der gut aussieht. Ich denke eher, dass dies ein Problem mit den IP-Adressen ist, die Sie verwenden.

Wenn sich die Computer in verschiedenen Netzwerken befinden, müssen Sie sicherstellen, dass die IP-Adresse, die Sie übergeben, diejenige ist, die für das Netzwerk zugänglich ist. Was bedeutet das eigentlich, wenn die IP, die Sie verwenden, mit 192.168.?.? dann verwendest du die falsche IP.

Sie können dies leicht überprüfen, indem Sie den folgenden Befehl ausführen:
(Windows): ipconfig
(linux): ifconfig

Wenn Sie eine korrekte IP-Adresse verwenden, würde ich meine Router-Einstellungen und / oder Firewall-Einstellungen überprüfen, die die Port-Nummer, die Sie verwenden möchten, sehr gut blockieren können.

    
Daniel Figueroa 22.12.2012, 23:39
quelle

Tags und Links