169.254.xx.xx에서 192.168.xx.xx까지 이더넷을 통해 UDP 패킷을 보내야합니다. 두 번째 주소는 FPGA의 주소이며 MAC 주소는 알려져 있습니다. 패킷을 모니터하기 위해 wireshark를 사용하고 있지만, 언 바운드 소켓이 있고 sock.sendto()
이라고 부르면 WLAN을 통해 전송됩니다. 나는 WLAN 인터페이스 소켓을 바인딩 할 때, 전송,하지만 난 이더넷 인터페이스에 소켓을 바인딩 할 때 내가 보내려고 할 때,이 오류가 발생합니다 :알고있는 MAC 주소와 ipv4 주소를 사용하여 이더넷 어댑터에서 FPGA로 UDP 패킷을 보내야합니다.
OSError: [WinError 10051] A socket operation was attempted to an unreachable network
이더넷 인터페이스에 바인딩
, 그리고 난 169.254.xx.xx 서브넷의 사용되지 않는 주소로 보내면 ARP를 전송하지만 대상이 192.168.xx.xx 서브넷에있을 때 아무 것도 전송되지 않습니다. 여기
코드입니다 : 192.168.xx.xx는 서로 다른 네트워크를 대표import socket
import time
address = '192.168.1.239'
port = 1235
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('169.254.190.73', 0))
sock.sendto('100'.encode('utf-8'), (bytes(address, 'UTF-8'), port))
time.sleep(0.005)
sock.close()
'''
'''
''169.254.190.73 '! ='192.168.1.239'' 어댑터가'No active connection! '이라고 말합니다. – dsgdfg
그리고'metrics'가 소켓 "0.0.0.0"'주소에 바인딩되어 있다고 생각하지 않는다면! – dsgdfg
"0.0.0.0"에 대한 @dsgdfg 바인딩이 작동하지 않는 것 같습니다. – hsifeulbhsifder