Широковещательный пакет UDP захвачен Wireshark, но не получен сокетом Python (даже после правильной привязки)Python

Программы на Python
Ответить
Anonymous
 Широковещательный пакет UDP захвачен Wireshark, но не получен сокетом Python (даже после правильной привязки)

Сообщение Anonymous »

Я пытаюсь реализовать систему связи UDP, в которой отправитель передает пакет, а получатель (код Python) его прослушивает. Пакет успешно перехвачен Wireshark на хосте-получателе, но мой сокет Python не получает широковещательный пакет UDP.
Я проверил, что сокет Python правильно привязан к правильному порту (37020 ) и IP-адрес (0.0.0.0 для всех интерфейсов).
Брандмауэры и программное обеспечение безопасности не являются проблемой; Я даже пытался полностью отключить брандмауэр, чтобы исключить любую потенциальную блокировку UDP-трафика на порту 37020.
Сокет не получает широковещательный пакет, хотя Wireshark может видеть его на сети.

Код: Выделить всё

Receiver:

import socket

def start_udp_server():
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as server_socket:

server_socket.bind(('0.0.0.0', 37020))  # Binding to all interfaces
print("Server listening on port 37020...")

while True:
message, addr = server_socket.recvfrom(4096)  # Listen for incoming packets
print(f"Received message: {message} from {addr}")

Sender:

import socket

def send_broadcast():
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) as sock:
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
message = "Test message"
sock.sendto(message.encode(), ('
', 37020))

Что я проверил:
Привязка: сокет Python привязан к правильному адресу и порту.
Рассылка: сокет настроен на широковещательную передачу.
Сеть: отправитель и получатель находятся в одной сети, и широковещательный адрес 255.255.255.255 должен работать.>

Подробнее здесь: https://stackoverflow.com/questions/791 ... -socket-ev
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»