У меня есть простой UDP сервер на Raspberry Pi с ipv6 адрес "2a02: 2C40: 100: A001: 1de0: 4ff6: 5bbd: 5cd9"Python: простой UDP сервер RPI не печатает сообщение
Код для сервера udp:
import socket
import sys
# Create a UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Bind the socket to the port
server_address = ('localhost', 61625)
print('starting up on {} port {}'.format(*server_address))
sock.bind(server_address)
while True:
print('\nwaiting to receive message')
data, address = sock.recvfrom(4096)
print('received {} bytes from {}'.format(
len(data), address))
print(data)
if data:
sent = sock.sendto(data, address)
print('sent {} bytes back to {}'.format(
sent, address))
С компьютера Windows я использую средство отправки пакетов для отправки сообщения. Wireshark захватывает это сообщение как:
80876 2260.986515 2a02:2c40:100:a001:d0cc:264f:f203:2ca0 2a02:2c40:100:a001:1de0:4ff6:5bbd:5cd9 UDP 69 61625→61625 Len=7
и сразу же следует, что с этим ICMPv6 сообщение:
80877 2260.987088 2a02:2c40:100:a001:1de0:4ff6:5bbd:5cd9 2a02:2c40:100:a001:d0cc:264f:f203:2ca0 ICMPv6 117 Destination Unreachable (Port unreachable)
На самом RPI, я вижу это:
388 10.578376 2a02:2c40:100:a001:d0cc:264f:f203:2ca0 -> 2a02:2c40:100:a001:1de0:4ff6:5bbd:5cd9 UDP 69 Source port: 61625 Destination port: 61625
389 10.578609 2a02:2c40:100:a001:1de0:4ff6:5bbd:5cd9 -> 2a02:2c40:100:a001:d0cc:264f:f203:2ca0 ICMPv6 117 Destination Unreachable (Port unreachable)
И мой UdP сервер не печатает ничего, т. е. остается таким, как:
[email protected]:~/git/cerberos_manager $ sudo python3 test_udp_server.py
starting up on localhost port 61625
waiting to receive message
Я понятия не имею, что я делаю неправильно. Любой совет?