而长连接常日便是: 连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接; 这就哀求长连接在没有数据通信时,定时发送数据包(心跳),以坚持连接状态,短连接在没有数据传输时直接关闭就行了
什么时候用长连接,短连接?长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情形。每个TCP连接都须要三步握手,这须要韶光,如果每个操作都是先连接,再操作的话那么处理速率会降落很多,以是每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket缺点,而且频繁的socket 创建也是对资源的摧残浪费蹂躏。 而像WEB网站的http做事一样平常都用短链接,由于长连接对付做事端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万乃至上亿客户真个连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。以是并发量大,但每个用户无需频繁操作情形下需用短连好。