当前位置: 代码迷 >> Android >> !MulticastSocket UDP组播, 无法接受的有关问题
  详细解决方案

!MulticastSocket UDP组播, 无法接受的有关问题

热度:26   发布时间:2016-05-01 14:49:33.0
求救!!MulticastSocket UDP组播, 无法接受的问题
最近做UDP组播,能发送出去,也可以接收到本机发送的数据,但是无法接受其他设备发送的设备。求助啊。 代码如下:
 
经确认,其他设备发送成功的。
 
MulticastSocket socket = new MulticastSocket(12345); 
  InetAddress group = InetAddress.getByName("224.0.1.1"); 
  socket.joinGroup(group);
  socket.setLoopbackMode(true);
  DatagramPacket packet; 
  byte[] buf = new byte[256]; 
  packet = new DatagramPacket(buf, buf.length); 
  DatagramPacket outPacket = new DatagramPacket(new byte[0] , 
  0 ,InetAddress.getByName("224.0.1.1") , 12345);
   
  //设置发送用的DatagramPacket里的字节数据
  byte[] bufff={1,2};
  outPacket.setData(bufff);
  socket.send(outPacket);// 发送
  boolean g=false;
  int tppp= socket.getTTL();
  socket.setTTL((byte)32);
  while(!g)
  {
  socket.receive(packet); // 可以接收到上面发送的 1,2 但是其他设备的无法接受到。 
  if(bufff!=null)
  {
   
  }
  }
 

------解决方案--------------------
如果你的IP为:192.168.1.100,子网掩码为:255.255.255.0,则广播地址为:192.168.1.255

你把224.0.1.1换成:224.0.1.255后再试试