我正在客户端和服务器之间实现回调函数。
客户端向服务器注册自己,当事件发生时,服务器将向客户端发送一个数据报包以通知客户端该事件。
客户端将在用户指定的整个收听期间被阻止
当它被阻塞时,它会进入这个循环继续监听服务器进行回调。
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);
这里有谁知道我怎样才能跳过这段代码并退出循环?
非常感谢。