IT袋

当前位置:主页 > 经验教程 > 建站编程 >

websocket入门教程

websocket入门教程

时间:2023-11-09 14:35:16 来源:IT袋 作者:马勇
导读:websocket入门教程,下面为网友们详细介绍websocket入门教程的电脑方面的小经验,下面小编为您详细解答 1. WebSocket介绍 WebSocket 是基于 TCP 的一种新的 网络协议 。 它实现了浏览器与服务器全

websocket入门教程

下面为网友们详细介绍websocket入门教程的电脑方面的小经验,下面小编为您详细解答

1. WebSocket介绍

WebSocket 是基于 TCP 的一种新的网络协议

它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。

HTTP协议和WebSocket协议对比:

  • HTTP是短连接
  • WebSocket是长连接
  • HTTP通信是单向的,基于请求响应模式
  • WebSocket支持双向通信
  • HTTP和WebSocket底层都是TCP连接

websocket入门教程

思考:既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?

WebSocket缺点:

服务器长期维护长连接需要一定的成本 各个浏览器支持程度不一 WebSocket 是长连接,受网络限制比较大,需要处理好重连

结论:WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用

WebSocket应用场景:

  • 视频弹幕
  • 网页聊天
  • 体育实况更新
  • 股票基金报价实时更新

2. SpringBoot结合WebSocket入门案例

需求:实现浏览器与服务器全双工通信。浏览器既可以向服务器发送消息,服务器也可主动向浏览器推送消息。

结果展示

websocket入门教程

2.1. 实现步骤

入门案例实现步骤如下:

  • 1.直接使用websocket.html页面作为WebSocket客户端
  • 2.导入WebSocket的maven坐标
  • 3.导入WebSocket服务端组件WebSocketServer,用于和客户端通信
  • 4.导入配置类WebSocketConfiguration,注册WebSocket的服务端组件
  • 5.导入定时任务类WebSocketTask,定时向客户端推送数据

2.2. 代码实现

创建WebSocket-Demo,并导入对应依赖到pom.xml

  • 完整项目结果

websocket入门教程

  • pom.xml 依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.7.15</version>
    </parent>
    <groupId>com.zbbmeta</groupId>
    <artifactId>WebSocket-Demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
    </dependencies>
</project>

相关阅读

  • 个人免费建网站怎么建 创建网站免费注册

    个人免费建网站怎么建 创建网站免费注册

    关于这方面的知识你知道吗?个人免费建网站怎么建和创建网站免费注册的相关知识,具体介绍如下: 如今,人们仍然对互联网技术相当感兴趣,特别是许多人希望成为网络名人,或者通过互

  • kafka应用场景有哪些

    kafka应用场景有哪些

    全面的为大家介绍kafka应用场景有哪些的相关介绍,下面为详细的介绍。 Kafka 作为一款热门的消息队列中间件,具备高效可靠的消息异步传递机制,主要用于不同系统间的数据交流和传递。 下

  • zblogphp后台固定域名导致网站无法访问解决方法

    zblogphp后台固定域名导致网站无法访问解决方法

    zblog后台设置固定域名之后,有时候服务器证书到期了或者更换了域名就导致网站无法正常访问了,连后台也打不开,进不去 ,针对这个问题,下面IT袋小编就给各位网站长分享解决方法,希望

  • 免费建立自己的网站 建立个人免费网站的方法

    免费建立自己的网站 建立个人免费网站的方法

    今日重点为您介绍免费建立自己的网站和建立个人免费网站的方法方面的介绍,接下来IT袋带大家一起了解。 现在个人成立工作室、工作团队,或者做个人自媒体的越来越多,这就需要有一个