pessoal,
é possível montar um programa em java que interrompa um receive de um DatagramSocket? Possuo uma thread que faz um receive de um DatagramSocket e gostaria de montar outra thread que finalizasse a primeira.
pessoal,
é possível montar um programa em java que interrompa um receive de um DatagramSocket? Possuo uma thread que faz um receive de um DatagramSocket e gostaria de montar outra thread que finalizasse a primeira.
Chame DatagramSocket.setSoTimeout após abrir o socket e antes de efetuar um receive. Se demorar muito para receber um pacote, será lançada uma SocketTimeoutException. Basicamente você faria algo como:
Abrir o socket;
Setar o timeout desejado;
cancelar = false;
while (!cancelar) {
try {
socket.receive;
break;
} catch (SocketTimeoutException ex) {
// não recebeu os dados, tentar novamente
}
}