핫스팟으로 작동하는 동안 Android에서 브로드 캐스트 또는 멀티 캐스트 서버를 설정하려고합니다. 방송 (네트워크에 도달 할 수없는 오류를 수신)에 대한 초기 문제가 발생한 후에 나는 이것이 안드로이드에서는 정상적인 것으로 보았 기 때문에 어쨌든 우리가 선호하는 것으로 생각했기 때문에 멀티 캐스트를 통해이를 구현하기로 결정했습니다. 내가 그렇게했을 때, 나는 다음과 같은 오류가 나타납니다 :이 무엇을 의미하는지 이해android에 테 더링을 할 때 네트워크 인터페이스에 주소가 없음
W/System.err(13578): java.net.SocketException: No address associated with interface: [wlan0][21]
을,하지만 내 핫스팟 ADB 셸에서 netcfg
명령을 사용하여 활성화되어있는 동안 내가 인터페이스를 확인할 때, 나는 다음을 참조 :
wlan0 UP 192.168.43.1/24 0x00001043 02:1a:11:f0:3d:80
그래서 런타임에 예외가 발생했지만 쉘 명령에서 하나만 표시된다는 사실을 이해하지 못합니다. 안드로이드가 나를 어떻게 든 막으려고하기 때문입니다. 무슨 일이 일어나고 있는지, 그리고이 인터페이스에서 멀티 캐스트 소켓을 어떻게 성공적으로 열 었는지 이해하는 데 도움이 될 것입니다. 아래와 같이 열어 봅니다 :
// Create the multicast socket
final MulticastSocket socket = new MulticastSocket(0);
Log.d(TAG, "Joining multicast group: 224.0.0.30");
final SocketAddress address = new InetSocketAddress(InetAddress.getByName("224.0.0.30"), socket.getLocalPort());
socket.joinGroup(address, NetworkInterface.getByName("wlan0"));
Log.d(TAG, "Multicast socket using interface: " + socket.getNetworkInterface());