以下是一個Java應用程序,我試圖寫的一小部分:SocketTimeoutException表示爲不可達
Socket socket = new Socket(hostname, portnumber);
DataInputStream socketInput = new DataInputStream(socket.getInputStream());
try{
socket.setSoTimeout(10000);
try{
byte[] msgHeader = new byte[4];
if (socketInput.read(msgHeader) != -1)
{
// process message
}
}
catch (IOException e)
{
// process exception
}
catch (SocketTimeoutException ste)
{
// process exception
}
}
catch (SocketException se)
{
// process exception
}
我得到,指出捕獲錯誤(SocketTimeoutException)不可達。我想建立一個套接字超時以防止套接字read()永遠被阻塞,如果發生SocketTimeoutException,我的應用程序將嘗試建立到下一個可用服務器的套接字連接,並嘗試執行相同的read()操作。
提供的任何幫助非常感謝,因爲我嘗試過使用不同的IO類沒有成功。
感謝您的快速回復/回覆。在審覈您的回覆/回覆並刪除我的問題之前,我意識到了我的問題。不過,我非常感謝您的回覆。 – rgwest61