2010-09-20 2 views
0

Я в настоящее время рассылаю DatagramPacket на DatagramSocket, и я получаю только штраф .. проблема в том, что я получаю пакет, который я отправил. Если я позвоню дважды, то он истечет. Есть ли способ игнорировать первый пакет и получать второй.Android Broadcast UDP Looping

Вот мой код ..

  socket = new DatagramSocket(8001); 
      socket.setBroadcast(true); 
      socket.setReuseAddress(false); 
      DatagramPacket packet = new DatagramPacket(databytes, 7, 
       getBroadcastAddress(), 8001); 
      socket.send(packet); 
      String localAddress = socket.getLocalAddress().toString(); 

      byte[] buf = new byte[1024]; 
      DatagramPacket receivepacket = new DatagramPacket(buf, buf.length); 
      socket.setSoTimeout(5000); 

      String temp = ""; 
      String delims = "[/]"; 
      while(true) 
      { 
       try{ 
        socket.receive(receivepacket); 
        temp = receivepacket.getAddress().toString(); 
        temp = temp.split(delims)[0]; 

        if(temp != localAddress) 
        { 

        }else 
        { 
         m_IPAddress = temp; 
         break; 
        } 

       }catch (SocketException e){ 

       } catch (IOException e){ 
        String temp1 = e.toString(); 
       } 
      } 

ответ

0
+0

Я довольно новыми для этого .. как будет что мне помочь? – txagdev

+0

Не должен ли он забрать второй пакет, когда я позвоню на получение второго раза? – txagdev

+0

Может ли быть проблема с тем, что SecurityManager не принимает пакет, поступающий из широковещательного канала? – txagdev

Смежные вопросы