从远程服务器读取镜像时,本地连接在120000之后超时



我正在开发黑莓5.0应用程序,并希望从url显示图像。在使用httpconnection从url读取图像时,我得到异常"本地连接在120000之后超时"

异常发生在"httpConnection.getResponseCode()"行

我的代码如下:
private byte[] getimagefromurl(String PhotoUrl)
{
   String url = "http://www.mywebsite.com/images/Folder/xyz.jpg";
   try 
   {
        httpConnection = (HttpConnection) Connector.open(url, Connector.READ_WRITE);
         System.out.println("url>>>>>>>> "+url);
        httpConnection.setRequestMethod(HttpConnection.GET);
         System.out.println("Response>>>>>>>> "+String.valueOf(httpConnection.getResponseCode()));
        if(httpConnection.getResponseCode() == HttpConnection.HTTP_OK) 
        {
            InputStream input = httpConnection.openInputStream();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int j = 0;
            while((j=input.read()) != -1)
            {
                baos.write(j);
            }
            byteArray = baos.toByteArray();
            baos.close();
        }    
   }
   catch(Exception e)
   {
       System.out.println("in catch>>>>"+e.toString());
   }
   return byteArray;               
}

附加url扩展,就像下面的例子是工作,当你使用WIFI

 httpConnection = (HttpConnection) Connector.open(url+";interface=wifi", Connector.READ_WRITE);

扩展只检查这个url连接扩展

是的,答案就是这样。连接超时。检查您的web服务是否正常工作。如果您是在设备或模拟器上进行测试,请确保您可以从默认的黑莓浏览器中点击URL。

如果在模拟器中进行测试,请确保启动了MDS-CS模拟器。

看一下这段代码

import java.io.InputStream; 
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
public class HTTPClient {
  public static String getPage(String url) {
    String response = "";
    try {
        StreamConnection s = (StreamConnection)Connector.open(url);
        InputStream input = s.openInputStream();
        byte[] data = new byte[256];
        int len = 0;
        StringBuffer raw = new StringBuffer();
        while( -1 != (len = input.read(data))) {
            raw.append(new String(data, 0, len));
        }
        response = raw.toString();
        input.close();
        s.close();
    } catch(Exception e) { }
    return response;
    }
}

最新更新