SpringBoot集成WebSocket

一、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 用于注册的对象
    55.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地址





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值