Socket-Verbindung über das Internet in Python?

Ich habe in Python 2.7.x ein einfaches Client-Server-Socket-Programm erstellt, das auch auf verschiedenen Computern problemlos über dasselbe Netzwerk ausgeführt werden kann. Wenn ich jedoch Server und Client in verschiedenen Netzwerken ausführe (Server im Netzwerk meines Freundes, Client in meinem) es gibt keinen Fehler zurück und wartet weiter. Ich kann einfach nicht verstehen, wie man den Code debuggt. Ich verwende Port 80, indem ich alle Dienste auf Port 80 beende. Außerdem habe ich auf beiden Computern die Portweiterleitung auf Port 80 durchgeführt.

Meine Codes lauten wie folgt:

client.py

import socket              

s = socket.socket()        
host = '103.47.59.130' 
port = 80               

s.connect((host, port))
while True: 
    print "From Server: ", s.recv(1024)  #This gets printed after sometime
    s.send(raw_input("Client please type: "))

s.close()                     

server.py

import socket               

s = socket.socket()         # Create a socket object
host = '192.168.0.104'    #private ip address of machine running fedora
port = 80                
s.bind((host, port))       

s.listen(5)                
c, addr = s.accept()       
print 'Got connection from', addr    #this line never gets printed
while True:
   c.send(raw_input("Server please type: "))
   print "From Client: ", c.recv(1024)

c.close()                

Es wird manchmal ** Vom Server: ** ausgegeben, aber es wird keine Nachricht hin und her gesendet.

PS: Ich habe früher nach Stack Overflow gesucht, kann aber nichts Relevantes finden.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage