确定应用程序是否已连接到服务器

时间:2012-06-04 11:05:15

标签: java android api

我正在开发一个连接到服务器以获取一些数据的应用程序 在此我想首先检查应用程序是否连接到服务器。然后,如果服务器开启或关闭?
根据结果,我想进行进一步的操作。

那么如何获得服务器状态的结果?

以下是我正在使用的代码:

代码:

try {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(
                        "http://192.168.1.23/sip_chat_api/getcountry.php");

                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();

            } catch (Exception e) {
 }

2 个答案:

答案 0 :(得分:1)

维护会话Cookie是最佳选择,请参阅如何使用会话Cookie:How do I make an http request using cookies on Android?

这里,在向服务器发送请求之前,检查会话cookie。如果存在,请继续进行通信。 的更新 Java相当 - 我相信在Android上运行 - 应该是:

InetAddress.getByName(主机).isReachable(超时)

答案 1 :(得分:1)

检查HttpResponse的getStatusLine()方法

200以外的任何状态代码都表示存在问题,每个状态代码都指出发生了不同的问题。

http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/HttpResponse.html?is-external=true

http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/StatusLine.html#getStatusCode()