• 初识 WebSocket


    工作中时常会遇到需要和服务器实时交互的场景,或者服务器实时和客户端推送消息的场景,例如:实时查询天气预报或者聊天工具等。那么怎么实现呢?WebSocket 就登场了。
    一、WebScoket 相关知识

    1. 为什么需要 WebScoket ?
      初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?

    答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。

    举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。
    https://www.bilibili.com/video/BV1gA4y1f7kx
    https://www.bilibili.com/video/BV1XW4y1C7yP
    https://www.bilibili.com/video/BV1GY4y1x77y
    https://www.bilibili.com/video/BV1AU4y117Gx
    https://www.bilibili.com/video/BV1yY411K7BB
    https://www.bilibili.com/video/BV15v4y1G7nC
    https://www.bilibili.com/video/BV1vY411K7Tm

    1. 什么是 WebScoket?
      WebSocket 是 HTML5 规范提出的一种协议,是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。

    WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。相较于经常需要使用推送实时数据到客户端甚至通过维护两个 HTTP 连接来模拟全双工连接的旧的轮询或长轮询来说,这就极大的减少了不必要的网络流量与延迟。

    要使用 HTML5 WebSocket 从一个 Web 客户端连接到一个远程端点,你要创建一个新的 WebSocket 实例并为之提供一个 URL 来表示你想要连接到的远程端点。该规范定义了 ws:// 以及 wss:// 模式来分别表示WebSocket 和安全 WebSocket 连接,这就跟 http:// 以及 https:// 的区别是差不多的。一个 WebSocket 连接是在客户端与服务器之间 HTTP 协议的初始握手阶段将其升级到 Web Socket 协议来建立的,其底层仍是 TCP/IP 连接。

    1. 特点
      它的最大特点就是,服务器可以主动向客户端推送信息,客户端

  • 相关阅读:
    猿创征文|JAVA 实现《连连看》游戏
    MySQL常见函数的讲解
    Java多线程(二)
    tf.nest
    3.无重复字符的最长子串
    !=和!==的区别
    设计模式 - 原型模式
    Java常用配置项和命令行
    数据结构 C语言 2.1 线性表抽象数据类型 2.2 小议顺序表
    LeetCode每日两题01:移动零 (均1200道)方法:双指针
  • 原文地址:https://blog.csdn.net/weixin_sjk6070/article/details/128175381