在Java中检查DatagramSocket()的setSoTimeout

时间:2010-09-22 12:26:15

标签: java sockets datagram

我对java很新,我有一个很容易回答的问题。

我有一个DatagramSocket,我已经将setSoTimeout设置为大约2秒。我从Java库中知道,如果向此套接字发出了一个recieve()并且传递了2秒并且没有收到回复,则会引发异常(java.net.SocketTimeoutException)。现在对我来说,当引发此异常时,我的整个客户端都会关闭。我需要一种方法来查看是否发生了此异常并转移到我的代码的另一部分而不是关闭整个客户端。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用java.net.SocketTimeoutException阻止包裹引发try/catch的行。

try {
  socket.receive(p);
} catch (SocketTimeoutException ste) {
  ste.printStackTrace();
}