在Java中获取Socket读取超时的原因是什么?

时间:2016-10-03 12:07:57

标签: java database sockets socket.io socket-timeout-exception

在Java中获取Socket读取超时的原因是什么?

我正在接受:

    ### Cause: java.sql.SQLRecoverableException: IO Error: Socket read timed out
; SQL []; IO Error: Socket read timed out; nested exception is java.sql.SQLRecoverableException: IO Error: Socket read timed out

3 个答案:

答案 0 :(得分:1)

库已设置超时,但在达到超时之前它没有读取任何内容。

如果另一端长时间停止阅读,可能会发生这种情况。图书馆确定什么是重要的。我会查找它所连接的服务器上记录的任何错误。

答案 1 :(得分:0)

根据您的环境,可能有许多不同的原因:它可能是您的计算机和数据库服务器之间的简单网络中断。但也可能是较低级别的拥堵;一层就坐在那里;所有连接线程;等待另一方移动......不再动弹了。

从这个意义上讲,对您的非特定问题的非特定答案是:识别系统中存在的不同组件,并且需要相互通信以提供他们应该提供的功能。当你有那个" map&#34 ;;你开始自己检查那张地图上的每个位置。

并提示:如果你还没有这样的(精神)地图;好吧,欢迎来到专业IT世界。当你负责一个复杂的系统;你只需要了解该系统中的不同组件;以及他们如何互动这不是stackoverflow可以给你的东西;这是必须自己想象的东西。

答案 2 :(得分:0)

参考http://docs.oracle.com/javase/6/docs/api/java/sql/SQLRecoverableException.html

尝试检查

  • 检查

    中的输入参数

    连接con = DriverManager.getConnection(
    " JDBC:预言:瘦:@localhost:1521:XE""用户名""密码&#34);

    • 检查数据库帐户到期日期

    • 尝试重启DataBase

    • 尝试重试连接

    • 如果仍然失败,请尝试使用其他数据库dsn