2016-07-25 19 views
0

Javaソケットを使用して天びんに接続するコードがあります。問題は、接続タイムアウトパラメータが正しく動作していないことです。どのパラメータが渡されても、待ち時間は常に24秒です。タイムアウト接続が正常に動作しない - Java

私は変更する必要があるサーバー上のパラメータのいくつかの並べ替えはありますか?

ここにあなたの興味を引くかもしれないコードの部分があります。

int TimeOutConnectionMs = TimeOutConnection.intValue() * 1000; 

    socket = new Socket(); 

    socket.connect(new InetSocketAddress(host, portNumber.intValue()) , TimeOutConnection.intValue() * 1000); 

使用される例外はあなたの助け

+0

ここから 'TimeOutConnection'をインポートしますか? ** 'int' **' Value''では 'initValue'ではなく...あなたはこれを知っていますか? –

+0

@ JordiCastilla TimeOutConnectionは、私のPLSQLコードから受け取ったパラメータです。intValue()を使用しています。 –

+0

私はクラスのAPIをチェックしてメソッドが何であるか知りたいのですが、なぜ24秒で、どのメソッドがあなたの目標を達成するために使うのかを説明すると思います。 –

答えて

-1

ため、次の

} catch (SocketTimeoutException e) { 
    msgException = e.getMessage(); 
    logMessage(process, "EXCEPTION", niveauLog.intValue(), "SocketTimeoutException: " + msgException, host + "_" + portNumber); 

    } catch (java.net.SocketException e) { 
    msgException = e.getMessage(); 
    logMessage(process, "EXCEPTION", niveauLog.intValue(), "java net Socket Exception: " + msgException, host + "_" + portNumber); 

    } catch (java.net.UnknownHostException e) { 
    msgException = e.getMessage(); 
    logMessage(process, "EXCEPTION", niveauLog.intValue(), "java net Unknown Host Exception: " + msgException, host + "_" + portNumber); 

感謝しているあなたは二回1,000を掛けているので、あなたの実際の接続タイムアウトは、あなたはそれが何を考えて1000倍です。

+0

彼はですか? 'TimeOutConnection.intValue()* 1000'の2倍のコマンドです... – Betlista

+0

私はそうではありません。最初のものはTimeOutConnectionMs(後でsmthgに使用されます)です。もう1つは単にTimeOutConnection –

+0

です。そうでなければなぜそれを掲示して混乱させるのか?そして、同じことを2回計算するのではなく、それを使用しないでください。 – EJP

関連する問題