Javaソケットを使用して、ネットワークノードの1つに接続しています。コマンドを実行してデータを取得し、HTMLグリッドに表示します。問題は、ノードが使用できないか、ネットワークの問題が原因でクエリがタイムアウトにならない場合です。アプリケーションのパフォーマンスが大幅に低下しています。socket.sotimeout()を試しましたが、機能しないようです。以下は参照用のコードです。
public void initializeConnection(String host, int port)
throws IOException
{
try
{
if(debug)
System.out.println((new StringBuilder()).append("connecting to host ").append(host).append(" port: ").append(port).toString());
socket = new Socket(host, port);
socket.setSoTimeout(6000);
socket.setTcpNoDelay(true);
in = new BufferedInputStream(socket.getInputStream());
out = new BufferedOutputStream(socket.getOutputStream());
}
catch(IOException e)
{
System.out.println("Connection could not be established");
closeConnection();
throw e;
}
if(debug)
System.out.println("Connected!");
}