URLに を接続するHttpClientを使用しようとすると問題が発生しています。 に接続時間を設定しても、http接続のタイムアウトに時間がかかります。http接続タイムアウトの問題
int timeoutConnection = 5000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
ほとんどの場合、完全に機能します。しかし、毎晩、http接続は常に実行され、setconnectiontimeout
は無視されます。特に、電話機が無線LANに接続されていて、電話機がアイドリングしていた場合は無視されます。
電話がアイドル状態になった後、初めて接続しようとすると、http接続はsetconnectiontimeout
を無視し、キャンセルしてもう一度やり直してみると、毎回魅力的に機能します。しかし、それは動作しないその1回はthreadtimeout
エラーを作成する、私は別のスレッドを使用して、それは動作しますが、私はスレッドが長い時間実行されていることを知っている。
私は無線LANがアイドル状態で眠りにつくことを理解していますが、その理由を理解していません。setconnectiontimeout
。
誰でも助けることができます、私は本当に感謝しています。
あなたはどのプラットフォームについて話していますか? –
HTTP接続は、接続が本当に接続されていると考えているため、タイムアウトを「無視」する可能性があります。最初の握手は成功しましたが、パイプ(またはあなたの場合は空気)から何も出ません。たぶんあなたの電話は接続を受け入れ続ける傾向がありますが、アイドル時にはすぐに忘れてしまいます。この問題が発生する前に交換された個々のフレームをキャプチャして調べると、おそらくもっと多くのことがわかります。 –