2011-09-15 31 views
2

ソケット接続を使用してアプリケーションで接続を確立しています。私はサーバーとのトンネルを確立するときに問題があります:3分後に自動的に接続が閉じられているので、3分または4分後にデータを取得しようとすると、inputStreamとoutputStreamに例外があります。しかし、私はtry{ ... } catch (Exception ex) { }を含んでいたので、接続を開いたスレッドはどんな種類の例外も通らないでしょう。
問題は、ソケット接続をまったく閉じないようにする方法です。ソケット接続の問題

+0

"トンネル" を動かす

  • ? – NPE

  • +1

    3分後にどのような例外がありますか? –

    +0

    3/4分後に例外がスローされない... catch(Exception ex)を使用していて例外がスローされない –

    答えて

    0

    この問題はBlackBerry support forumsで解決されました。ポータブル接続された無線デバイスを使用する場合、接続がダウンして行くかもしれない多くの理由があることを覚えておくことが重要であり、短いタイムアウトを持つことは、接続が信頼できないかもしれない場合に有益であるかもしれない:

    • フリンジエリア
    • ビル内 "SSHトンネル" のよう
    1

    を試しましたか?

    +0

    はい。私はこれを試した。 setKeepAlive(true)を指定しても、接続は常に3または4分後にアイドル状態になります –

    +0

    通常、tcp keepAlivesはデフォルトで数時間ごとに送信されます。おそらく、接続を閉じるファイアウォール/ナットゲートウェイがあります。使用しているプロトコルによって許可されている場合、ハートビートメッセージを定期的にサーバーに送信する必要があります。 – nos