SSH开发提示Socket closed错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH开发提示Socket closed错误相关的知识,希望对你有一定的参考价值。

最近在用SSH做一个软件,在测试时,发现如果多刷新几次页面,提示Socket closed错误,貌似是连接丢失造成的,但是奇怪的是,过一段时间再刷新时,又正常了,再这样刷几次,又出同样的问题。查了好多资料,实在搞不定了。不知哪位同仁遇到过同样的问题,控制台输入如下:
2009-05-21 23:10:01,734 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Er
ror: 17002, SQLState: null
2009-05-21 23:10:01,734 ERROR [org.hibernate.util.JDBCExceptionReporter] - Io 异
常: Socket closed
2009-05-21 23:10:01,734 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Er
ror: 17002, SQLState: null
2009-05-21 23:10:01,734 ERROR [org.hibernate.util.JDBCExceptionReporter] - Io 异
常: Socket closed
org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.ErrorCodeConverter.handledNonSpecificExceptio
n(ErrorCodeConverter.java:92)
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter
.java:80)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
... 65 more
2009-05-21 23:10:05,015 WARN [org.hibernate.jdbc.ConnectionManager] - unclosed c
onnection, forgot to call close() on your session?
我用的是spring的hibernateTemplate,应该不用担心session的close问题!

看样子我个人认为有可能是Sql执行的问题,你试一下把调用的实现换成换成session试试,先别用hibernateTemplate,如果还是不能接觉得话,再看一下关于数据库链接配置,是不是哪里配置有问题,这种问题比较难解决,怕的就是有时好有时坏,只能一点点沿着调有的方法找可以换其他写法试一下。 参考技术A sql有问题
有时好有时不好,可能是多线程的问题或者你在执行sql后没有关闭链接!本回答被提问者采纳
参考技术B 可能是楼主用的端口被其他的程序占用了,不妨换个端口号试试!! 参考技术C sql 没问题的 是不是 session 没close();

paramiko 遭遇socket.error: Socket is closed 错误的解决办法

似乎是connection自己断了解决的办法是在创建conn的时候添加下面这句

conn.keep_this = conn_session

完整代码




def create_a_conn(ip_addr, port, username, password):
\'\'\'
creat a conn to router using paramiko.SSHClient()
\'\'\'
conn_session = paramiko.SSHClient()
conn_session.load_system_host_keys()
conn_session.connect(ip_addr, port, username, password, look_for_keys = False, allow_agent = False)
conn = conn_session.invoke_shell()# to keep the session go on
conn.keep_this = conn_session

time.sleep(1)
conn.send("terminal length 0\\n")
time.sleep(1)

if conn.recv_ready():
conn.recv(65535)

return conn

以上是关于SSH开发提示Socket closed错误的主要内容,如果未能解决你的问题,请参考以下文章

paramiko 遭遇socket.error: Socket is closed 错误的解决办法

关于putty连接服务器提示server unexpectedly closed connection解决方法

JMeter并发测试遇到Socket closed错误解决方案

ubuntu 16.04下ssh访问提示错误

ssh 远程链接时出现错误提示:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

composer错误提示Cloning failed using an ssh key for authentication的解决方法