Sto lavorando a uno script che trasmette i dati tra due computer distinti con accesso a Internet. Sto usando il modulo standard per socket di Python. Funziona bene quando eseguo sia client che server su un singolo computer ma non riesco a far funzionare le cose quando vengono eseguite su computer diversi.Python: invio di dati tra due computer tramite prese
Ecco una parte del mio codice del server:
import socket, time,os, random
class Server():
def __init__(self,Adress=('',5000),MaxClient=1):
self.s = socket.socket()
self.s.bind(Adress)
self.s.listen(MaxClient)
def WaitForConnection(self):
self.Client, self.Adr=(self.s.accept())
print('Got a connection from: '+str(self.Client)+'.')
s = Server()
s.WaitForConnection()
E qui è una parte del mio codice cliente:
import socket
class Client():
def __init__(self,Adress=("Here is the IP of the computer on which the \
server scrip is running",5000)):
self.s = socket.socket()
self.s.connect(Adress)
c = Client()
Quando eseguo questi script su due computer con accesso a Internet il il client non è in grado di connettersi e genera un errore e il server è in attesa di connessioni per sempre.
Cosa sto sbagliando?
Come sono collegati questi due computer? Qualsiasi router/firewall/dispositivi NAT sul percorso. –
Entrambi i computer sono collegati a diversi WiFi –
Come sono configurati questi due router Wi-Fi? –