Angenommen, mit dem Ausführen auf dem gleichen Computer meinen Sie, dass Sie dem Client sagen, der Server ist 127.0.0.1/localhost, sollte es kein Problem in Ihrem Code aber wegen Firewalls oder Router sein. Wenn sich Ihr Server hinter einem Router befindet, der Masquerading ausführt (dh der Server hat keine öffentliche, sondern eine private IP-Adresse wie 192.168.xy zum Beispiel), müssen Sie den Router so konfigurieren, dass er eine Verbindung vom Internet an den Computer mit dem Server gibt Server.
Ein anderer Grund, warum es nicht funktioniert, könnte die Art sein, wie Sie Ihren Server an die Schnittstelle binden. Wenn Sie dort 127.0.0.1 angeben, wird der Server nur auf Anforderungen warten, die vom selben System kommen. Wenn Sie keine Adresse angeben, werden alle Schnittstellen überwacht.
Bearbeiten Ihr Kommentar zeigt an, dass Sie tatsächlich das NAT-Problem haben, wie andere sagten. Konfigurieren Sie Ihren Router entsprechend ist wahrscheinlich die einfachste Lösung.
Ja, aber ich fürchte, ich habe keine solche dritte Partei ... – Jake
@Jake: Ich vermutete, dass das der Fall sein könnte - siehe meinen letzten Absatz. Grundsätzlich sollte Ihr Chat-Programm einen beliebigen Port verwenden (wenn dies IPv4 ist, wählen Sie eine Nummer über 1024, da diese reserviert sind) und erfordern, dass beide Clients diesen Port auf ihren Routern geöffnet haben. –
@JohnFeminella Hallo John, kannst du mir ein Beispiel geben oder mir zeigen, wie ich dieses "Drittanbieter" -Modul schreiben kann, mit dem sich beide Clients verbinden können? – asloob