数据报接收方法因超时而被阻止

时间:2015-11-01 22:06:17

标签: java multithreading sockets timeout

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

1 个答案:

答案 0 :(得分:1)

  

需要一种杀死线程的方法

不,你没有。

您需要一种检测超时的方法。

使用setSoTimeout()设置读取超时,并在触发时捕获SocketTimeoutException