2017-10-16 11 views
-1

내 노트북은 이더넷 케이블과 무선 랜 와 연결되어 내 이더넷 IP : 192.168.18.32 내 무선 랜 IP : 192.168.18.167가 지금은 통해 UDP 패킷을 전송하고 싶습니다 자바 와이파이 네트워크 인터페이스를 사용합니다.자바 UDP가 로컬 IP 주소에 바인딩하지 못할 (이더넷)

: 나는 내가 다음 해당 인터페이스 내가 192.168.18.167 다음 UDP 패킷을 IP 바인딩 경우 즉, UDP 패킷을 전송하는 데 사용되는 correspoding의 IP에 바인딩 할 경우

내 코드는 무선 랜 인터페이스를 사용하여 전송됩니다 읽기

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); 

하지만,이 전송 방법은

 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) 
,536을
+0

답변을 시도한 적이 있습니까 https://stackoverflow.com/questions/8965155/cannot-assign-requested-address-jvm-bind? – Jotunacorn

+0

이 두 송신 중 예외를 throw하는 송신은 어느 것입니까? 그리고 어디에서 데이터 그램을 보내려고하십니까? 송신 소켓이 실제로 목적지로 보내지는 인터페이스가 될 수 있습니까? – EJP

+0

예. 나는 이것을 보았고 이것이 내 문제를 해결하지 못한다. –

답변

-1

외부 호스트 (예 : IP)로 내 서버를 옮겼을 때 내 서버가 로컬 호스트 (예 : 127.0.0.1)에서 실행되었습니다. 나는 인터넷이나 아내를 사용하여 패킷을 보낼 수 있었고 wireshark에서 로그를 볼 수있었습니다.

+0

귀하의 서버가 있습니까? 어떤 서버? 귀하의 서버가 'localhost, 즉 127.0.0.1'에서 실행되고 있습니까? 귀하는 귀하의 질문에 대해 서버에 관해 아무 말도하지 않았습니다. 귀하가 전시 한 유일한 코드는 127.0.0.1에서 실행되지 않았습니다. – EJP

+0

EJP 죄송합니다. 서버가 로컬 호스트 또는 외부 서버에서 실행 중인지 여부는 중요하지 않다고 생각했습니다. –

+0

그게 무슨 뜻인지 물어보고 응답하지 않았습니다. 귀하의 대답과 귀하의 질문은 귀하가 명확히하기 전까지는 여기에서 쓸모가 없습니다. – EJP