• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:openStreamで起きるタイムアウトを未然に防ぎたい)

openStreamで起きるタイムアウトを未然に防ぎたい

このQ&Aのポイント
  • openStreamで起きるタイムアウトを未然に防ぎたいシナリオについて説明しました。
  • プログラム実行時にa.comにアクセスできないとタイムアウト時間まで待ち続けてしまう問題に対する解決方法について尋ねました。
  • アクセス可能性のチェックには、a.comの実在とポート443の受け付け状態を確認する必要があることを示しました。

質問者が選んだベストアンサー

  • ベストアンサー
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.2

クライアントがタイムアウトまで待つのは当然であり、待たされるのは、 > a.comにアクセスできない 場合だけとはかぎりません。彼女が家からなかなか出てこないのは、病気とは限らない。服の着替えで手間取っているのかもしれない。クライアントにはいずれにせよ、この時点では理由は分からないから、待つのが礼儀。 クライアントがタイムアウトを設定するためには、無引数のSocketコンストラクタを使い、connect()の引数で指定します。readのタイムアウトは、setSoTimeout()で指定します。

oubokun
質問者

お礼

分かりやすい説明ありがとうございました。 何となく待たないといけないのかな~、ともやもやしていたのですが、それがはっきりして良かったです。 「タイムアウトを設定し、この時間待って応答がなかったら」という決めにします。

その他の回答 (1)

回答No.1

… Socket(String host,int port) でSocketを生成してみて、例外が発生したら… でも 「指定されたホスト上の指定されたポート番号に接続します。 」 とあるので結局「接続」してるので…

oubokun
質問者

お礼

回答ありがとうございました。 以下を試してみたのですが、やはりタイムアウトまで待ってしまいます。 Socket socket = new Socket("a.com", 443);

関連するQ&A