HttpURLConnection TIMEOUT用于非标准HTTP端口

时间:2015-08-03 13:25:49

标签: android http jersey httpurlconnection

我为我的Android应用程序开发了泽西休息服务,并希望使用80以外的自定义端口来访问该服务。但是当我尝试通过自定义端口(51001)连接到服务器时,我总是得到一个SocketException,表明连接超时。在服务器端,Android设备没有任何连接。但是当我将服务器的端口切换到80时,一切正常。有人知道为什么吗?

这是我在android应用程序中的示例代码:

protected HttpResponse download(String urlString) throws IOException, URISyntaxException {
    URL url = new URL(urlString);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setConnectTimeout(TIMEOUT_MS);
    connection.setReadTimeout(TIMEOUT_MS);
    return HttpResponse.fromURLConnection(connection);
}

PS:没有防火墙等阻止端口和应用程序的先前版本正在运行(没有URLConnection API)。所以问题出在URLConnection API上。

任何帮助将不胜感激。谢谢!

编辑//

这是引发的异常(超时为40秒):

  

java.net.SocketTimeoutException:40000ms后无法连接到/ IP(端口51001)

它不依赖于超时,超时的增加无效。此外,当我使用端口80时,一切正常,并且具有相同的超时。

0 个答案:

没有答案