Heute habe ich mein allererstes Sockets-Programm gemacht - ich habe einen Client und einen Server, die sich gegenseitig (wie ein Chat) mit Sockets kommunizieren. Bei Verwendung der internen IP als 'Host' wird die Verbindung hergestellt, ansonsten wird über die externe IP keine Verbindung hergestellt.Python: Verbinden mit Sockets über externe IP
Edit 1:
#Client
s = socket.socket()
host = '123.123.123.123'
port = 9999
s.connect((host, port))
#Server
host = ''
port = 9999
s = socket.socket()
s.bind((host, port))
s.listen(5)
connection, address = s.accept()
Wie wird diese Arbeit richtig mit zum Beispiel einem Laptop? Da Ihre IP-Adresse bei jedem Wechsel von Wifi geändert wird, wie würde ich in der Lage sein, ein Programm zu erstellen, das permanent mit diesem speziellen Laptop funktioniert?
Ich verstehe, dass ich den spezifischen Port zu einem bestimmten internen Computer wie 192.168.0.5 weiterleiten muss. Aber was ist, wenn ich einen Laptop benutze und keinen Zugang zum WLAN-Router habe? Ich hätte keinen Zugang zu jedem Router, den ein Laptop benutzt.
Ich möchte den Code dauerhaft kompatibel sein.
"Es hat nicht richtig funktioniert" ist sehr vage. Es scheint hier einige Fragen zu geben, die erste ist möglicherweise eine gute Frage. Veröffentlichen Sie den Code, den Sie verwenden, und geben Sie genau an, was Sie erwarten und was stattdessen geschieht. Die anderen Fragen sind für dieses Format zu weit gefasst. –
Aktualisiert den Thread, fügte den wichtigen Teil des Codes sowie eine bessere Erklärung –