我正在处理一个客户端-服务器项目,该项目使用UDP套接字发送/接收数据包,该套接字处理数据包丢弃和超时。由于每次数据包丢失时(如果发生超时),receive方法都会被阻塞,因此我需要找到一种方法来杀死阻塞接收套接字的线程。问题是,它没有抛出任何异常,所以不知道如何杀死线程。我想终止线程,以便下次尝试时可以重新启动。
需要一种方法来杀死线程
不,你没有。
您需要一种检测超时的方法
使用setSoTimeout()
设置读取超时,并在触发时捕获SocketTimeoutException
。