我想禁用一個由套接字超時產生的錯誤消息,因爲它正在填充我的控制檯(Linux,終端)。Java在特定的調用中禁用堆棧跟蹤?
的代碼:
public ThreadListenResponseQuery(DatagramSocket socket){
this.socket = socket;
try {
socket.setSoTimeout(1500);
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run(){
System.out.println("Waiting for response...");
// Waiting for 60 seconds...
while(System.currentTimeMillis() < startTime + 60000){
socket.receive(receive_packet);
// .. Additional work
}
}
該程序正在等待60秒,以得到任何響應。我在套接字上設置了超時,因爲如果沒有響應消息,while
週期就會凍結。
錯誤:
java.net.SocketTimeoutException: Receive timed out at java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method) at java.net.DualStackPlainDatagramSocketImpl.receive0(Unknown Source) at java.net.AbstractPlainDatagramSocketImpl.receive(Unknown Source) at java.net.DatagramSocket.receive(Unknown Source) at thread.ThreadListenResponseQuery.run(ThreadListenResponseQuery.java:46) at java.lang.Thread.run(Unknown Source)
我已經嘗試過了,它不工作。 – 2013-05-09 19:50:12
檢查編輯,希望它有幫助。 – 2013-05-09 19:55:30