3

私はHTTP接続を介してAndroidモバイルからサーバーにデータを投稿していました。サーバーにデータをPOSTし、サーバーから確認応答を取得することができました。しかし、サーバー通信スレッドがデータを投稿した後にサーバーからの確認応答を待っていると、インターネット接続が失われ、スレッドがサーバーからAckを受信できなくなり、無限ループに陥ることがあります。setReadTimeOut(180000)メソッドを試しました。

それは私のために働くことができますか?利用可能なネットワークがない/サーバーとモバイル間の接続がない場合、SocketTimeOutExceptionを発生させることができますか

4

1 に答える 1

2

タイムアウトを設定すると、ほとんどの場合機能します。ただし、180000(=180秒=3分!)に設定することはお勧めしません。通常、30秒で十分です。setConnectTimeoutを追加することもできます

HttpUrlConnectionが常に正しく機能するとは限らない場合があることに注意してください。

  1. Androidバージョン2.2以前では、これらのバージョンにはApache HTTPクライアントを使用することをお勧めします(この投稿も参照してください) 。
  2. エミュレーター上(この投稿も参照)
于 2012-04-26T08:47:20.283 に答える