Проверка setSoTimeout для DatagramSocket () в Java - PullRequest
0 голосов
/ 22 сентября 2010

Я довольно новичок в Java, и у меня, наверное, очень простой вопрос.

У меня есть DatagramSocket, и я установил setSoTimeout примерно на 2 секунды.Я знаю из библиотеки Java, что если для этого сокета выдается recieve () и проходит 2 секунды и он не получает ответ, возникает исключение (java.net.SocketTimeoutException).Теперь для меня, когда возникает это исключение, весь мой клиент закрывается.Мне нужен способ узнать, не возникло ли это исключение, и перейти к другому разделу моего кода, а не закрывать весь клиент.

Заранее благодарен за помощь.

1 Ответ

0 голосов
/ 22 сентября 2010

Обернуть строку, которая выбрасывает java.net.SocketTimeoutException с try/catch блоком.

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