2

次のようにフォームソケットを読み取る必要があるプログラムを作成しています。

socket = (SSLSocket) factory.createSocket(domain, port);
socket.setSoTimeout(5000); 
socket.startHandshake();

ソケットプログラミングの経験はありません。エラーをスローする前に 5 秒が妥当な待機時間であるかどうかを知る必要がありますか? 人脈作りの機会を逃さない時間を設定したい。

2 番目の質問は、タイマーが開始するとき、読み取りが開始されると停止するかどうかです。または、プログラムが読み取りを完了するのに必要な時間を考慮する必要がありますか?

4

1 に答える 1

0

最初の質問は基本的に無意味です。平均サーバー応答時間の予想に基づいて、読み取りタイムアウトを設定し、問題があると判断するまで待機する準備ができている余分な時間を加えます。アプリケーションの場合、それを定量化するための情報を持っているのはあなただけですが、確かに 5 秒では短すぎます。経験則の 1 つは、差異に応じて、予想される応答時間を 2 倍または 3 倍にすることですが、実際に決定するのはユーザー次第です。

2 番目の質問に答えると、タイマーは read() を入力すると開始し、データの最初のバイトが到着するかタイムアウトになると停止します。

于 2012-11-22T13:10:50.937 に答える