Pracuję nad skryptem, który przesyła dane między dwoma różnymi komputerami z dostępem do Internetu. Używam standardowego modułu gniazda Pythona. Działa dobrze, gdy uruchamiam zarówno klienta, jak i serwer na pojedynczym komputerze, ale nie jestem w stanie sprawić, aby te rzeczy działały, gdy działają na różnych komputerach.Python: wysyłanie danych między dwoma komputerami za pośrednictwem gniazd
Tutaj jest część mojego kodu serwera:
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()
I tu jest częścią mojego kodu klienta:
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()
Kiedy uruchomić te skrypty na dwóch różnych komputerach z dostępem do internetowej klient nie może się połączyć i wywołuje błąd, a serwer czeka na połączenia w nieskończoność.
Co robię źle?
W jaki sposób są połączone te dwa komputery? Wszelkie routery/firewalle/urządzenia NAT na ścieżce. –
Oba komputery są podłączone do różnych sieci WiFi –
. Jak skonfigurowano te dwa routery Wi-Fi? –