0

我正在尝试向 servlet 发出 get 请求,但在使用移动数据连接时不断出现超时异常

java.net.SocketException:操作超时

使用手机移动数据连接时,我可以在浏览器上上网,所以它不是我的数据包,并且代码在 wifi 连接上工作没问题。

我尝试将超时设置为 1000000 毫秒,但仍然出现异常,有人可以帮助我吗?

这是我正在使用的代码

            HttpParams httpParameters = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpParameters, 1000000 );
            HttpConnectionParams.setSoTimeout(httpParameters, 1000000 );
            HttpConnectionParams.setTcpNoDelay(httpParameters, true);
            HttpClient httpclient = new DefaultHttpClient(httpParameters);
            HttpResponse response = null;
            Log.d(TAG, "" + id[0]);


            response = httpclient.execute(new HttpGet(
                    "http://192.168.1.10:8080/serv/request?id=" + id[0]));
            Log.d(TAG, response.toString());
            Log.d(TAG, "status" + response.getStatusLine());
4

1 回答 1

1

从您的 URI ( http://192.168.1.10:8080/serv/request?id=) 看来,您正在尝试访问本地 LAN 中的服务器。因此,如果您的服务器位于本地 LAN 中并且无法从 Internet 访问,那么您将无法使用移动数据连接连接到它...

您的服务器托管在哪里?您的服务器可以在互联网上访问吗?您需要在服务器上有一个静态 IP 才能使用移动数据连接访问服务器。

于 2013-01-01T14:33:26.010 回答