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();
}
}
Я довольно новыми для этого .. как будет что мне помочь? – txagdev
Не должен ли он забрать второй пакет, когда я позвоню на получение второго раза? – txagdev
Может ли быть проблема с тем, что SecurityManager не принимает пакет, поступающий из широковещательного канала? – txagdev