ho un semplice server UDP implementato in Python:presa Python funziona su LAN ma non oltre Wifi
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("",10005))
while True:
data = sock.recv(1024)
ho eseguito questo codice sul computer A. mando comandi UDP dal computer B in queste due situazioni:
- Entrambi A e B sono collegati a un router in una rete locale tramite cavo LAN.
- Entrambi A e B sono collegati al router tramite Wi-Fi.
I pacchetti UDP vengono ricevuti in situaltion 1 (cavo LAN) ma non nella situazione 2 (tramite Wi-Fi). In entrambi i casi Wireshark mostra il pacchetto ricevuto sul computer A. Qualche idea?
SO: Windows
Il programma client:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(char,("192.168.1.107",10005))
sock.close()
sono venuto vicino a trovare la soluzione. Windows sta lasciando cadere i pacchetti UDP. Ho controllato con il comando netstat -s -p UDP
. Ogni volta che il computer mittente invia i pacchetti UDP, gli errori di ricezione aumentano. Ora devo solo capire perché i pacchetti vengono ricevuti erroneamente.
Modifica L'ho provato su altri computer. Funziona. Ho cambiato il firewall sul computer dove non funziona, ma non riesco ancora a capire cosa stia filtrando il pacchetto UDP.
Qual è il programma client e quale versione di Windows stai usando? – rlms
Windows 7. Programma client semplificata usati: presa import calzino = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) sock.sendto (char, ("192.168.1.107", 10005)) sock.close () – user3098466
Puoi eseguire 'netstat -r' e mostrare l'output qui. –