- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:openStreamで起きるタイムアウトを未然に防ぎたい)
openStreamで起きるタイムアウトを未然に防ぎたい
このQ&Aのポイント
- openStreamで起きるタイムアウトを未然に防ぎたいシナリオについて説明しました。
- プログラム実行時にa.comにアクセスできないとタイムアウト時間まで待ち続けてしまう問題に対する解決方法について尋ねました。
- アクセス可能性のチェックには、a.comの実在とポート443の受け付け状態を確認する必要があることを示しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
クライアントがタイムアウトまで待つのは当然であり、待たされるのは、 > a.comにアクセスできない 場合だけとはかぎりません。彼女が家からなかなか出てこないのは、病気とは限らない。服の着替えで手間取っているのかもしれない。クライアントにはいずれにせよ、この時点では理由は分からないから、待つのが礼儀。 クライアントがタイムアウトを設定するためには、無引数のSocketコンストラクタを使い、connect()の引数で指定します。readのタイムアウトは、setSoTimeout()で指定します。
その他の回答 (1)
- pcbeginner
- ベストアンサー率46% (261/560)
回答No.1
… Socket(String host,int port) でSocketを生成してみて、例外が発生したら… でも 「指定されたホスト上の指定されたポート番号に接続します。 」 とあるので結局「接続」してるので…
質問者
お礼
回答ありがとうございました。 以下を試してみたのですが、やはりタイムアウトまで待ってしまいます。 Socket socket = new Socket("a.com", 443);
お礼
分かりやすい説明ありがとうございました。 何となく待たないといけないのかな~、ともやもやしていたのですが、それがはっきりして良かったです。 「タイムアウトを設定し、この時間待って応答がなかったら」という決めにします。