【问题标题】:determine aplication is connected to server or not确定应用程序是否连接到服务器
【发布时间】:2012-06-04 20:51:10
【问题描述】:

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

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

这是我正在使用的代码:

代码:

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) {
 }

【问题讨论】:

标签: java android api


【解决方案1】:

在这里维护会话cookie是最好的选择,请参阅如何使用会话cookie:How do I make an http request using cookies on Android?

在这里,在向服务器发送请求之前,请检查会话 cookie。如果存在,则继续进行通信。 更新: Java 等价物——我相信它适用于 Android——应该是:

InetAddress.getByName(host).isReachable(timeOut)

【讨论】:

【解决方案2】:

检查 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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多