2017-06-12 10 views
-1

私はC#のソケットプログラミングの初心者です。特定のNICのパケットデータをどのように送信するのだろうか。Cで特定のNICのパケットメッセージを送信する方法

私はそこにeth0とeth1だったと私はeth1のに成功したパケットを送信しなかったこと

try: 
     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
     s.setsockopt(socket.SOL_SOCKET, 25, str(str(netinterface) + '\0').encode('UTF-8')) // netinterface => 'eth1' 
    except OSError : 
     print("Failed set eth1") 

のようなのpython3でのsetsockoptを使用して、特定のネットワークデバイスを設定する方法があった知っていました。

このようなソケットにオプションを設定しましたが、このAPIを使用してNICを解決する方法はわかりません。

 UdpClient udpclient = new UdpClient(new IPEndPoint(IPAddress.IPv6Any, 15118)); 
     IPAddress multicateAddress = IPAddress.Parse("FF02::1"); 
     udpclient.JoinMulticastGroup(multicateAddress); 

     Socket uSocket = udpclient.Client; 

     uSocket.SetSocketOption() // <- How... to? 

チュートリアルやドキュメントがあれば、私に役立ちます。

お願いthx。

答えて

0

bindあなたが探しているNICのインタフェースの特定のIPアドレスにソケットを接続するか、OSルーティングテーブルを変更して、特定のインタフェースを介して特定のネットワークにパケットを送信します。

UdpClientは単なるソケットではありませんが、とにかく特定のIPにバインドする際に問題はありません。詳細については、the docsを参照してください。

関連する問題