2017-10-16 6 views
-1

私のラップトップは、イーサネットケーブルや無線LAN に接続されている私のイーサネットIP:192.168.18.32 私の無線LAN IP:192.168.18.167が 今私はを通じてUDPパケットを送信したいですJavaは無線LANネットワークインターフェイスを使用しています。 私は192.168.18.167をIPに結合する場合、私はcorrespoding IPにバインドした場合、対応するインタフェース、すなわちUDPパケットを送信するために使用されますその後、UDPパケットがJavaのUDPは、ローカルIPアドレスにバインドカント(イーサネット)

私のコードがある無線LANインタフェースを使用して送信されることをお読みください。

final String wiFiCardAddressName = "192.168.18.32"; 
    final String ethernetAddressName = "192.168.18.167"; 
    final InetAddress wiFiCardAddress = InetAddress.getByName(wiFiCardAddressName); 
    final InetAddress ethernetAddress = InetAddress.getByName(ethernetAddressName); 
    DatagramSocket datagramSocketWifi = new DatagramSocket(10000, wiFiCardAddress); 
    System.out.println(ethernetAddress); 
    DatagramSocket datagramSocketEt = new DatagramSocket(6666, ethernetAddress); 

     DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, serverPort); 

が、このsendメソッドが

 datagramSocketWifi.send(sendPacket); 
    datagramSocketet.send(sendPacket); 

呼び出されたときには、次のエラーが表示されます。

Exception in thread "main" java.net.BindException: Cannot assign requested address: Datagram send failed  
at java.net.DualStackPlainDatagramSocketImpl.socketSend(Native Method) 
at java.net.DualStackPlainDatagramSocketImpl.send(Unknown Source) 
at java.net.DatagramSocket.send(Unknown Source) 
at socket_test.Client_UDP_Bind.main(Client_UDP_Bind.java:50) 
+0

答えを https://stackoverflow.com/questions/8965155/cannot-assign-requested-address-jvm-bindで試しましたか? – Jotunacorn

+0

これらの2つの送信のうち、どれが例外をスローしますか?そして、どこでデータグラムを送信しようとしていますか?送信ソケットが実際にその宛先に送信するためにバインドされているインタフェースを使用できますか? – EJP

+0

はい。私はこれを見て、これは私の問題を解決しません –

答えて

-1

サーバーを外部ホスト、つまりIPに移動した後、この同じコードが動作したとき、私のサーバーはlocalhost(つまり127.0.0.1)で動作していました。私はehternetか妻を使ってパケットを送ることができ、wiresharkのログインを見ることができました。

+0

あなたのサーバーですか?どのサーバーですか?あなたのサーバーは「ローカルホスト上、つまり127.0.0.1」で動作していましたか?あなたはあなたの質問のサーバーについて何も言わなかった。あなたが展示した唯一のコードは「127.0.0.1で走っていない」*でした。 – EJP

+0

EJPごめんなさい。サーバーがローカルホスト上で実行されているか、外部サーバーで実行されているかどうかは関係ありません。 –

+0

私はそれが何を意味しているのかを尋ねています。あなたの答えとあなたの質問は、あなたが明確にするまでここでは役に立たない。 – EJP

関連する問題