西南IT社区
    • 注册
    • 登录
    • 搜索
    • 主页
    • 问答
    • 话题
    • 热门
    • 圈子
    • 工作机会
    • 活动
    • 项目

    WebSocket实时通信

    极客生涯
    websocket实时通信
    1
    1
    36
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Q
      qq201457794 最后由 编辑

      WebSocket 的诞生是针对于HTTP 协议的缺陷,因为HTTP通信只能由客户端发起,做不到服务器主动向客户端推送信息。而这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用"轮询":每隔一段时候,就发出一个询问,了解服务器有没有新的信息。最典型的场景就是聊天室。

      但是轮询的效率低,非常浪费资源,因为轮询需要不停建立连接,或者需要HTTP连接始终保持打开状态。

      WebSocket 协议在 2008 年诞生,2011 年成为国际标准。所有浏览器都已经支持了。WebSocket 最大特点就是服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

      6f6e626a-797b-427a-a218-0ac81c5677ee-image.png

      WebSocket 和 HTTP协议一样属于应用层协议,WebSocket 也是建立在TCP 协议之上,服务器端的会更容易实现。

      WebSocket 与 HTTP 协议有着良好的兼容性。WebSocket 默认端口也是 80 和 443,第 1 次建立连接时采用 HTTP 协议,因此连接时不容易屏蔽,还能通过各种 HTTP 代理服务器。并且WebSocket 数据格式比较轻量,性能开销小,通信高效。支持发送文本,也可以发送二进制数据。

      更优越的一点在于WebSocket 没有同源跨域限制,客户端可以与任意服务器通信。WebSocket 不是用来代替 HTTP 的,它是用来解决实时通信的业务场景。如果业务不需要实时性,那就没必要使用 WebSocket。

      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      使用HTML构建办公软件 使用HTML构建办公软件 使用HTML构建办公软件
      Q
      成
      Y
      洋
      书
      Y
      D
      U
      Y
      娇
      玩
      1
      光
      A
      庆
      小
      U
      Y
      L
      I
      Z
      I
      Y
      C
      Z

      西南地区IT社群(QQ)
      云南
      【昆明网页设计交流吧】243627302
      【昆明nodejs交流吧】 243626749
      【VUE】838405306
      【云南程序员总群】343606807
      【昆明UI设计】104031254
      【云南软件外包】15547313
      贵州
      【PHP/java源码/站长交流群】55692114
      四川
      【成都Java/JavaWeb交流】86669225
      【vaScript+PHP+MySql】116270060
      【UI设计/设计交流学习群】135794928
      重庆
      【诺基亚 JAVA游戏博物馆】 559479780
      【PHP,Java,Python,C++接单】 442103442
      西藏
      社群
      昆明网页设计交流吧
      友情链接
      • Funtask
      • Funtask 社区
      • SUWIS
      ©2019-2021 滇ICP备20006698号