我正在客户端和服务器之间实现回调函数。
客户端向服务器注册自己,当事件发生时,服务器将向客户端发送datagrampacket以通知客户端该事件。
客户将在用户指定的整个收听期间被阻止
当它被阻止时,它将进入此循环以继续收听服务器以进行回调。
while (waiting) {
aSocket.setSoTimeout(0);
aSocket.receive(reply);
String replyString = new String(reply.getData()).trim();
System.out.println(replyString);
buffer = new byte[1000];
reply = new DatagramPacket(buffer, buffer.length);
}
我已经用一个timertask编写了一个定时器,在收听期结束后将等待的值从true更改为false。
我的问题是我希望客户在收听期结束后停止收听。但是,即使我使用计时器,客户端也会被阻止
aSocket.receive(reply);
有没有人知道如何跳过此代码并退出循环?
非常感谢。