Port Weiterleitung funktioniert nicht
Verfasst: Sonntag 25. Oktober 2015, 11:03
Ich versuche einen kleinen Chat Server-Client zu basteln. Das ist aller Code den ich bisher habe:
Ich habe meinen Router (Speedport W 504V) auf eine Postweiterleitung programmiert

Es funktioniert problemlos auf meinem lokalen Netzwerk, aber sobald ich von meinem Client die (externe) IP unseres Routers und den Port eingebe bekomme ich timeout. Mein Windows Freund bekommt folgenden Fehler:
telnet auf meinem Computer sagt: (Mir wurde empfohlen ich soll telnet zum verbindungsfesten verwenden)
Mir ist folgende Diskrepanz aufgefallen: Links die Info meines routers, rechts mein Programm

Ich habe verschiedene IPs für den server verwendet: '', '0.0.0.0', socket.gethostbyname(socket.gethostname()), socket.gethostname(), meine Lokale und meine Globale IP Adresse (refused)
Was mache ich falsch?
Code: Alles auswählen
#Server
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
prt = int(input('PORT: '))
s.bind(('', prt))
#s.bind((socket.gethostbyname(socket.gethostname()), prt))
print('Hosted at ' + str(s.getsockname()))
s.listen(2)
while 1:
cli_sock, cli_addr = s.accept()
print('New connection: ' + str(cli_addr))
cli_sock.send('TEST to ' + str(cli_addr))
Code: Alles auswählen
#Client
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(),int(input('Client Port: '))))
s.connect((input('IP: '),int(input('SRVR Port: '))))
print(s.recv(4096))

Es funktioniert problemlos auf meinem lokalen Netzwerk, aber sobald ich von meinem Client die (externe) IP unseres Routers und den Port eingebe bekomme ich timeout. Mein Windows Freund bekommt folgenden Fehler:
Code: Alles auswählen
line 4, in <module>
s.connect((input('IP: '),int(input('SRVR Port: '))))
OSError: [WinError 10051] Ein Socketvorgang bezog sich auf ein nicht verfügbares Netzwerk
Code: Alles auswählen
telnet: connect to address XX.XXX.XX.X: Operation timed out
telnet: Unable to connect to remote host
Mir ist folgende Diskrepanz aufgefallen: Links die Info meines routers, rechts mein Programm

Ich habe verschiedene IPs für den server verwendet: '', '0.0.0.0', socket.gethostbyname(socket.gethostname()), socket.gethostname(), meine Lokale und meine Globale IP Adresse (refused)
Was mache ich falsch?