我正在尝试向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());
答案 0 :(得分:1)
从您的URI(http://192.168.1.10:8080/serv/request?id=
)看起来您正试图访问本地LAN中的服务器。因此,如果您的服务器位于本地局域网中,并且无法从互联网访问,那么您将无法使用移动数据连接连接到它...
您的服务器托管在哪里?你的服务器可以上网吗?您需要在服务器上使用静态IP才能使用移动数据连接访问服务器..