blackberry - 从黑莓模拟器打开 http 连接的问题

标签 blackberry java-me blackberry-simulator httpconnection

从模拟器打开一个简单的 HttpConnection 时遇到问题,我已将 deviceside=true 后缀附加到我的 url,但它仍然无法正常工作,我收到一个响应代码为 0 的空 httpconnection。这是给我带来问题的代码:

public void readUrl(){
     HttpConnection conn=null;
        try {
            conn = (HttpConnection) Connector.open("http://www.google.com;deviceside=true");
            conn.setRequestMethod("GET");
             if(conn.getResponseCode()==HttpConnection.HTTP_OK){
                 System.out.println("Create connection sucessfully");
             }

        } catch (ConnectionNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }




        DataInputStream din=null;
        ByteVector responseBytes=null;
        try {
            din = conn.openDataInputStream();
             responseBytes = new ByteVector();
              int i = din.read();
              while (-1 != i) {
                responseBytes.addElement((byte) i);
                i = din.read();
              }
        } catch (IOException e) {
            //TODO: HANDLE EXCEPTIONS
            e.printStackTrace();
        }
        responseBytes.toArray();

我不知道是怎么回事。它假设通过附加 deviceside=true 它应该直接连接。无论如何,我也尝试安装 MDS 服务器并将我的 url 设置为 deviceside=false,但结果是一样的。

现在我使用本地 url 测试了相同的代码,如 http://localhost:8080/resources/mypage.html ,并且它按预期工作,所以我想知道这是否可能是模拟器配置问题。我该如何解决?

非常感谢。

最佳答案

根据我的经验,使用 MDS 模拟器时需要附加 ;deviceside=true。有一个很棒的post在 blackberry.com 论坛上,该论坛向您展示了如何确定您应该使用的连接后缀,以及一些关于在 BlackBerry 中使用连接的一般性好建议。

为了帮助您更轻松地获取请求的内容,您可以使用 IOUtilities 类:

InputStream stream = conn.openInputStream();
String contents = new String(IOUtilities.streamToBytes(stream));

关于blackberry - 从黑莓模拟器打开 http 连接的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5665834/

相关文章:

Blackberry - 在 Mac OSX 上的 Eclipse 上找不到 "Run on simulator"选项

java - 如何在 Java ME 中获取异常堆栈跟踪的文本?

启动浏览器时黑莓 9800 模拟器崩溃

blackberry - BlackBerry OTA 安装的内容类型

blackberry - J2ME MIDlet 和黑莓 RIMlet 之间的基本区别是什么

java - J2ME中如何实现线程超时?

java - midlet 和 corelet 之间有什么区别?

blackberry-simulator - 在 virtualbox 中运行 BlackBerry 10 模拟器 (alpha)

java - 黑莓 7 : Odd Memory Leak in Root Process

blackberry - 处理大型黑莓应用程序(大量图片)