一、SpringBoot集成WebSocket
1.回顾HTTP协议
1、无状态的
2、无连接的
3、单项应用层的协议
4、请求和响应的模型
5、缺陷:无法实现服务器主动的向客户端发送信息
二、WebSocket介绍
1.介绍
WebSocket是一种通信协议,可以实现客户端与服务端的双向通讯
2.优点
1、握手阶段采用HTTP协议
2、数据格式轻量,性能开销缩小
1)服务器发信息到客户端不到10字节
2)客户端到服务器在家四个字节
3、更好的二进制支持,可以发送文本,和二进制数据
4、没有同源限制,客户端可以与任意服务器通信
☆只能出现客户端与服务器进行交互的,需要实时数据更新和信息的交互都可以用到 WebSocket例如:聊天、运动
3.WebSocket对象
1、WebSocket属性
2、WebSocket事件
3、WebSocket方法
三、SpringBoot整合WebSocket流程
1.新建maven项目
2.添加依赖
1、基础
2、WebSocket
3.创建WebSocket服务处理类
1、交给Bean管理
2、实现接口 WebSocketHandler
3、重写方法
4.创建WebSocket配置类
1、添加注解
1)@Configuration 用于定义配置类,它注释的类就相当于一个XML配置文件,可以用来替换XML文件
在该注解配置的类中,还可以使用@Bean 来对方法进行bean管理 被@Bean注解管理的方法的返回值,自动被Bean容器 可以在其他类中注入使用
2)@EnableWebSocket 用于开启WebSocket服务器
2、实现接口
WebMvcConfigurer,WebSocketConfigurer
3、重写方法
该类的主要作用,就是把WebSocket服务器进行url注册
提供地址给客户端访问
4、注入WebSocket服务器处理类
用于将服务器处理类,注册成可被客户端访问的服务器地址
registry 用于注册的对象
5、5.1、设置服务器访问地址
允许所有地址访问 特别是允许跨域访问
但是这里面也只允许 http和https访问
http://localhost:8080来访问
5.2、注册
registry.addHandler(自定义的服务器处理类,访问地址)
访问地址构成:ws://localhost:8080/需要自定义的地址
ws://localhost:8080/sbwst
5.客户端实现
1、发送信息
1)用于发送信息的输入框
2)发送按钮
2、断开连接
断开按钮
引入JQ文件
新建客户端的WebSocket = new WebSocket(服务器请求地址)
close是关键字,不能弄方法名
0、定义服务器地址
1、创建WebSocket对象,建立与服务器的连接
需要传入服务器地址作为参数
建立链接之后会有以下事件
1_ 连接事件open
2_ 信息事件message
3_ 异常事件error
4_ 关闭事件close
5_ event事件对象
2、客户端建立连接时会触发的方法
3、接受服务器信息的方法
4、服务器发送异常触发的方法
5、服务器关闭时会触发
6、客户端发送信息 sendMsg
获取到输入框的值 把值发到服务器
send(内容) 客户端向服务器发送信息
7、主动关闭通信
当建立连接之后,会触发该方法
用于接受客户端的信息
参数:session 和 message
session:当客户端和服务器建立连接后,就会自动创建一个session,就是一个会话
可以存储客户端和服务器交互的信息
message:接受客户端发送的信息的
当关闭时触发的方法
当客户端主动挂断连接就会触发
信息量较大,是否允许客户端分段发送信息 true允许 false不允许
IP地址
快递地址
127.0.1 表示本机
互联网和局域网IP(192.168.x.x)
域名 和 IP地址
DNS域名解析器
通过DNS把域名解析成IP地址
SpringBoot集成WebSocket
最新推荐文章于 2023-09-07 17:31:30 发布