
所谓长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。\x0d\x0a\x0d\x0a长连接多用于
*** 作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个 *** 作都是先连接,再 *** 作的话那么处理速度会降低很多,所以每个 *** 作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket \x0d\x0a创建也是对资源的浪费。\x0d\x0a\x0d\x0a而像WEB网站的http服务一般都用短
链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁 *** 作情况下需用短连好。\x0d\x0a\x0d\x0a总之,长连接和短连接的选择要视情况而定。
其实长链接是相对于通常的短链接而说的,也就是长时间保持客户端与服务端的连接状态。长链接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短链接频繁通信常会发生Socket出错,并且频繁创建Socket链接也是对资源的浪费。
jdbc长连接一般指的是一个持久的数据库连接,它可以在程序中保持活跃,以便重复使用。设置长连接的方法包括:
1. 在连接URL中添加参数:驱动程序会识别并将连接设置为持久连接,比如:jdbc:mysql://localhost:3306/dbname?autoReconnect=true
2. 使用JDBC连接对象的setAutoCommit()方法设置自动提交为false,例如:conn.setAutoCommit(false)
3. 使用数据库连接池,通过连接池可以设置长连接,有助于提高性能和可靠性。
评论列表(0条)