【问题标题】:Blackberry httpConnection cant handle error 200黑莓 httpConnection 无法处理错误 200
【发布时间】:2012-05-23 12:35:52
【问题描述】:

我无法收到错误消息。当连接正常时,我可以看到消息“连接正常”。但是当我想连接到“坏”的 ip 服务器时,我看不到“连接错误”的消息。 为什么是这样?我等了 2 分钟(我读取连接有 2 分钟超时)但没有任何反应。

我想要做的是取消我的连接并显示一条消息是连接不良或我无法从服务器获取信息。

public void run() {

        try {

            conn = (HttpConnection) Connector.open(URL);

            int status = conn.getResponseCode();

            if (status != HttpConnection.HTTP_OK) {
                UiApplication.getUiApplication().invokeLater(new Runnable() {
                    public void run() {
                        mainScreen.add(new RichTextField("Bad Connection"));
                    }
                });
                conn.close();
                return;
            }

            InputStream contentIn = conn.openInputStream();
            byte[] data = new byte[400];
            int length = 0;

            StringBuffer raw = new StringBuffer();
            while (-1 != (length = contentIn.read(data))) {
                raw.append(new String(data, 0, length));
                str = raw.toString();
                conn.close();
                UiApplication.getUiApplication().invokeLater(new Runnable() {
                    public void run() {
                        mainScreen.add(new RichTextField("Connection OK"));
                    }
                });
            }
        } catch (Exception e) {

        }
    }

【问题讨论】:

  • 你调试过那个代码吗?如果您进行了调试,那么该代码的行为是什么。如果您没有调试代码,请将调试指针放在int status = conn.getResponseCode(); 行并开始调试。

标签: blackberry httpconnection


【解决方案1】:

如果你的坏服务器没有运行,连接就会超时。这将从对 Connector.open() 的调用中引发异常,并且您的 catch 处理程序是空的,因此什么也不会发生。尝试将一些 UI 代码添加到您的异常处理程序中。

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 2011-09-04
    • 2011-01-24
    • 2012-02-18
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2013-02-21
    相关资源
    最近更新 更多