Mam prosty serwer UDP wdrożone w Pythonie:gniazdo Python działa przez LAN, ale nie przez WiFi
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("",10005))
while True:
data = sock.recv(1024)
ten kod na komputerze A. wyślę UDP poleceń z komputera B w tych dwóch sytuacjach:
- Zarówno A, jak i B są podłączone do routera w sieci lokalnej za pomocą kabla LAN.
- Zarówno A, jak i B są podłączone do routera przez Wi-Fi.
Pakiety UDP są odbierane w pozycji 1 (kabel LAN), ale nie w sytuacji 2 (przez Wi-Fi). W obu przypadkach Wireshark pokazuje odebrany pakiet na komputerze A. Jakieś przemyślenia?
OS: Windows
Program klienta:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(char,("192.168.1.107",10005))
sock.close()
mam zbliżyć się do znalezienia rozwiązania. Windows upuszcza pakiety UDP. Sprawdziłem komendą netstat -s -p UDP
. Za każdym razem, gdy komputer wysyłający wysyła pakiety UDP, zwiększają się błędy odbioru. Teraz muszę po prostu dowiedzieć się, dlaczego pakiety są odbierane błędnie.
Edytuj Testowałem to na innych komputerach. To działa. Zmieniłem zaporę na komputerze, na którym nie działa, ale nadal nie mogę znaleźć tego, co filtruje pakiet UDP.
Jaki jest program klienta i jakiej wersji systemu Windows używasz? – rlms
systemu Windows 7. Program uproszczony klient używany: import gniazdo skarpetka = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) sock.sendto (char ("192.168.1.107", 10005)) sock.close () – user3098466
Czy można uruchomić 'netstat -r' i pokazać wyjście tutaj. –