Java-在接收UDP数据包时设置tiimeout函数java
问题描述:
我试图发送UDP数据包,然后等待从服务器返回响应2秒。如果我的套接字在这段时间内没有收到来自服务器的数据包,那么我将不得不再次发回相同的数据包。我希望程序在发送5后停止发送数据包,然后声明服务器已关闭。Java-在接收UDP数据包时设置tiimeout函数java
这里是我有什么,但我不断收到错误:在线程“主要” java.net.SocketTimeoutException
例外:收到超时
clientSock.send(UDP_Packet);
int count=0;
while(count <5){
try{
clientSock.recieve(incomingPacket);
clientSock.setSoTimeout(2000);
} catch (SocketException e) {
clientSock.send(UDP_Packet);
count++;
if(count>=5){
System.out.println("Server is Down");
}
}
}
谁能告诉我我是什么在这里做错了或如何实现它?
谢谢您的时间
答
那么你需要之前设置超时做接收,不算账,但主要的问题是,你赶上了错误的例外。你应该赶上SocketTimeoutException
。