2014-12-27 1 views
0

Я пытаюсь подключиться к многоадресной группе и отправлять udp-пакеты с сервера на клиент.Исключение при получении: java.net.SocketException: Нет такого устройства. в android multicast

я написал правильные разрешения на манифеста код

сервера:

private DatagramSocket datagramSocket; 
datagramSocket = new DatagramSocket(); 
InetAddress IPAddress; 
IPAddress = InetAddress.getByName("230.0.0.1"); 
DatagramPacket sendPacket; 
sendPacket = new DatagramPacket(data, data.length, IPAddress, port); 
datagramSocket.send(sendPacket); 

код клиента:

private MulticastSocket soketmulNHC; 
soketmulNHC = new MulticastSocket(8900); 
soketmulNHC = new MulticastSocket(8900); 
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
MulticastLock multicastLock = wifi.createMulticastLock("multicastLock"); 
multicastLock.acquire(); 
byte[] buffer = new byte[Data.MAX_PACKET_SIZE];    
InetAddress group = InetAddress.getByName("230.0.0.1");      
soketmulNHC.joinGroup(group); 
DatagramPacket receivePacket = new DatagramPacket(buffer,buffer.length,group,8900);        
soketmulNHC.receive(receivePacket); 

и я получил это исключение:

Exception in recieving 
java.net.SocketException: No such device 
at org.apache.harmony.luni.platform.OSNetworkSystem.setSocketOption(Native Method) 
at org.apache.harmony.luni.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:198) 
at org.apache.harmony.luni.net.PlainDatagramSocketImpl.join(PlainDatagramSocketImpl.java:137) 
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:190) 

i также пытался добавить интерфейсную часть из этой ссылки Multicast - no such device, а затем я получил:

SocketException in sending: java.net.SocketException: Network is unreachable 

может быть, есть проблема с использованием S2 галактики мультикастинга? Мне нужна ваша помощь, спасибо.

ответ

0

Для большинства устройств (если у них более одного сетевого устройства) необходимо явно указать, какое сетевое устройство следует использовать для присоединения к группе многоадресной передачи.