当使用kso​​ap2连接web服务时,我接受了这个错误java.net.SocketTimeoutException

时间:2014-08-28 12:36:24

标签: android

我正在开发一个android project.i使用kso​​ap2 lib.And我正在编写axis2 web服务 但我在客户端(android)上接受了这个错误

java.net.SocketTimeoutException:600000ms后无法连接到/10.0.2.2(端口8080):isConnected失败:ETIMEDOUT(连接超时)

谢谢..

1 个答案:

答案 0 :(得分:1)

java.net.SocketTimeoutExceptionjava.io.IOException的子类。它表示在套接字读取或接受时发生超时“。这意味着当两个阻塞操作(接受或读取)被阻塞一段时间(称为超时)时,会出现此异常。假设套接字配置为超时5秒。如果accept()或read()方法阻塞超过5秒,则抛出SocketTimeoutException,指定发生了超时。

为了避免这种例外: -

如果服务器端应用程序在您的控制之下,您应该尝试调整超时障碍,以使其在网络延迟方面更加灵活。您应该考虑这样做,尤其是当您的服务器应用程序将在远程计算机上运行时。除此之外,您可以检查网络中的任何延迟,路由器故障等。有效处理它的另一种方法是定义连接超时,然后使用try catch块处理它....

e.g,

  

HttpUrlConnection conn =(HttpURLConnection)url.openConnection();         conn.setConnectTimeout(time_in_millisec); //设置所需的超时(以毫秒为单位)

重要的是要注意抛出此异常后。套接字保持有效,因此您可以重试阻塞调用或使用有效套接字执行任何操作(甚至从catch块重新连接服务器)

有关详情,请浏览http://examples.javacodegeeks.com/core-java/net/sockettimeoutexception/java-net-sockettimeoutexception-how-to-solve-sockettimeoutexception/

链接

来源:www.simpalm.com