• 长连接与短连接


    转载:https://blog.csdn.net/n1314n/article/details/90743858

    首先介绍下短链接和长连接的区别:

    短连接

    连接->传输数据->关闭连接
    比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
    因为连接后接收了数据就断开了,所以每次数据接受处理不会有联系。 这也是HTTP协议无状态的原因之一。
    长连接

    连接->传输数据->保持连接 -> 传输数据-> ...........->直到一方关闭连接,多是客户端关闭连接。
    长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。


    什么时候用长连接,短连接?

    长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,
    这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多,所以每个操作完后都
    不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接, 如果
    用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。

    而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网
    站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成
    千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频
    繁操作情况下需用短连好。

    总之,长连接和短连接的选择要视情况而定。
    ————————————————
    版权声明:本文为CSDN博主「N1314N」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/n1314n/article/details/90743858

  • 相关阅读:
    php使用redis的有序集合zset实现延迟队列
    php使用redis的几种常见方式和用法
    redis缓存雪崩,缓存穿透,缓存击穿的解决方法
    php操作redis数据库方法总结
    mysql 悲观锁与乐观锁的理解
    OAuth2.0 协议的理解
    windows下的mongodb安装与配置
    node.js中对 redis 的安装和基本操作
    node.js中对 mysql 进行增删改查等操作和async,await处理
    node.js中 koa 框架的基本使用方法
  • 原文地址:https://www.cnblogs.com/ConfidentLiu/p/12404835.html
Copyright © 2020-2023  润新知