Android 当将web服务与ksoap2连接时,我在java.net.SocketTimeoutException中遇到了这个错误
我正在开发一个android项目。我使用了ksoap2库。我正在编写axis2 web服务 但我在客户端(android)上犯了这个错误 java.net.SocketTimeoutException:在600000毫秒后连接到/10.0.2.2(端口8080)失败:断开连接失败:ETIMEDOUT(连接超时)Android 当将web服务与ksoap2连接时,我在java.net.SocketTimeoutException中遇到了这个错误,android,Android,我正在开发一个android项目。我使用了ksoap2库。我正在编写axis2 web服务 但我在客户端(android)上犯了这个错误 java.net.SocketTimeoutException:在600000毫秒后连接到/10.0.2.2(端口8080)失败:断开连接失败:ETIMEDOUT(连接超时) 谢谢..java.net.SocketTimeoutException是java.io.IOException的子类。它表示套接字读取或接受时发生超时”。这意味着,当接受或读取这两个操作
谢谢..
java.net.SocketTimeoutException
是java.io.IOException
的子类。它表示套接字读取或接受时发生超时”。这意味着,当接受或读取这两个操作的阻塞操作被阻塞一定时间(称为超时)时,就会出现此异常。假设套接字配置为超时5秒。如果accept()或read()方法阻塞超过5秒,则会抛出SocketTimeoutException,指示已发生超时
为了避免这种例外情况:-
如果服务器端应用程序在您的控制之下,您应该尝试调整超时屏障,以便其在网络延迟方面更灵活。您应该考虑这样做,特别是当您的服务器应用程序将运行在远程计算机中时。除此之外,您可以检查导致网络延迟的任何因素、路由器故障等。另一种有效处理的方法是定义连接超时,然后使用try-catch块进行处理
e、 g,
HttpUrlConnection conn=(HttpUrlConnection)url.openConnection();
conn.setConnectTimeout(时间单位为毫秒)//以毫秒为单位设置所需的超时
重要的是要注意,在抛出此异常之后。套接字保持有效,因此您可以重试阻塞调用,或者使用有效套接字执行任何操作(甚至可以从catch块重新连接服务器)
有关更多详细信息,请浏览链接
来源:thx,不是所有的。。我更改了android平板电脑代理设置。。它起作用了