当服务器部署到GAE时,httpclient.execute()挂起

时间:2014-05-25 15:40:30

标签: android google-app-engine servlets httpclient socket-timeout-exception

当服务器部署到App Engine时,我的Android应用程序调用servlet时遇到问题。 该调用适用于本地服务器,但是当我部署它时,如果我为httpclient设置超时,则调用只会挂起或抛出SocketTimeoutException。 目前我的servlet什么都不做(所以没有办法花太多时间来完成它的工作)。

我正在使用的代码

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(SERVER_URL+"/fileupload");
InputStreamEntity reqEntity = new InputStreamEntity(stream, 1000);
httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);
if (response.getStatusLine().getStatusCode() == 200) {
                    // file uploaded successfully!
                        Log.e("ok","resp "+response.getStatusLine().getStatusCode());
                    } else {
                        Log.e("runtime exp","couldn't handle req"+response.getStatusLine().getStatusCode());
                        throw new RuntimeException("server couldn't handle request");
                    }

我想知道的是什么可能使这个代码在localhost上正常运行,但是当服务器部署到App Engine时却没有。 任何输入都表示赞赏。感谢

0 个答案:

没有答案