2017-09-07 25 views
0

169.254.xx.xxから192.168.xx.xxまでのイーサネットでUDPパケットを送信する必要があります。 2番目のアドレスはFPGAのアドレスで、MACアドレスは既知です。私はパケットを監視するためにwiresharkを使用していますが、私はバインドされていないソケットがあり、sock.sendto()と呼んでWLAN経由で送信します。私は、WLANインターフェースにソケットをバインドするとき、それは送信しますが、私はイーサネットインターフェイスにソケットをバインドするとき、私は送信しようとすると、私はこのエラーを取得する:既知のMACアドレスとipv4アドレスを使用して、イーサネットアダプタからFPGAにUDPパケットを送信する必要があります。

イーサネットインターフェイスにバインド
OSError: [WinError 10051] A socket operation was attempted to an unreachable network 

、およびI 169.254.xx.xxサブネットの未使用アドレスに送信すると、ARPが送信されますが、宛先が192.168.xx.xxサブネットにある場合は何も送信されません。ここ

コードである:169.254.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() 
''' 
    ''' 
+0

''169.254.190.73 '!=' 192.168.1.239''アダプタは'アクティブな接続がありません! 'と答えます – dsgdfg

+0

'metrics'がソケット' '0.0.0.0" 'addressにバインドされていないのであれば! – dsgdfg

+0

"0.0.0.0"へのバインド@dsgdfgは動作していないようです。 – hsifeulbhsifder

答えて

1

と異なるネットワークを表す192.168.xx.xx、ルーティングする必要があるとの間でトラフィック。しかし、169.254.0.0/16(autoconf)は通常ルーティングされません。

両方のノードが実際に同じレイヤ2セグメントに存在する場合、autoconfクライアントのIPアドレスを(手動で)変更するだけです。

関連する問題