Я написал приложение для Android, которое прослушивает UDP-порт 5150 для получения закодированного аудиопотока от устройства, подключенного к тому же маршрутизатору Wi-Fi. Однако вызов метода receive () блокируется на неопределенный срок и не получает никаких данных.
int FRAME_SIZE = 480;
byte[] udpBuffer = new byte[FRAME_SIZE];
DatagramSocket socket;
socket = new DatagramSocket(5150);
datagramPacket = new DatagramPacket(udpBuffer, FRAME_SIZE);
System.out.println("Starting UDP listener");
for(;;){
socket.receive(datagramPacket);
System.out.println("receiving UDP data");
}
Я установил следующее разрешение
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
В чем может быть причина не получать UDP-данные?