我的应用程序连接到服务器,当我退出应用程序时,我必须从服务器注销。
我的问题是响应延迟:我的应用程序退出速度不够快,我必须等待服务器的响应才能离开 Handler。
响应并不重要,我确定如果我发送 get,它会注销。
那么,是否可以注销(通过 http get)并关闭我的应用程序而不等待响应(但不停止“获取过程”)?
就像我用浏览器在电脑上做的那样:我点击注销按钮,然后我关闭浏览器,而不是等待来自服务器的欢迎页面......
我尝试添加一个短的套接字超时,但服务器没有注销。
这是我的方法:
private void Disconnect() {
new Thread() {
@Override
public void run() {
String errorMessage = null;
Message msg = authHandler.obtainMessage();
try {
HttpGet httpGet = new HttpGet(LogoutURL);
HttpResponse httpResponse = httpclient.execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() != 200) {
msg.what = AuthERR;
authHandler.sendMessage(msg);
return;
}
msg.what = AuthEND;
msg.obj = choix;
authHandler.sendMessage(msg);
} catch (ClientProtocolException e) {
errorMessage = e.toString();
} catch (IllegalArgumentException e) {
errorMessage = e.toString();
} catch (IOException e) {
errorMessage = e.toString();
} catch (Exception e) {
errorMessage = e.toString();
} finally {
if (errorMessage != null) {
Log.e("Logout", errorMessage);
msg.what = AuthUnknownHostException;
msg.obj = errorMessage;
authHandler.sendMessage(msg);
}
}
}
}.start();
}