# zhao-Websocket
该项目是一个基于 Spring Boot 和 JavaScript 的轻量级快速开发 WebSocket 协议通讯的工具包。
## 简介
本项目提供了一组用于构建 WebSocket 通讯应用的 API和SDK,它们简单易用、轻量快速。通过使用本工具包,开发人员可以方便地构建具有 WebSocket 功能的应用程序。
简化WebSocket通讯应用开发,将WebSocketAPI事件驱动接口封装为基于Promise的驱动模式,将Springboot-starter-websocket事件驱动接口封装为基于注解的请求映射模式。为了保证通讯信息安全与扩展信息类型,将通讯信息编码为二进制信息进行发送,接受信息后再将信息译码。前端具有连接与关闭连接,请求与通知处理,断线检测,断线重连,消息分片等功能。后端具有监听器,事件监听,错误处理,超时踢出,方法地址映射,响应与通知,token验证等功能。
使用本工具开发的实时聊天小网站:https://zhao.zhaowenhao.cn
测试账户:demo1、demo2。密码:123456
## 要求
- springboot版本3.0及以上,jdk版本17及以上(自动装配文件与springboot2.0不同,如有需要可以自行修改)
## 快速开始
Server端:
- 将websocket-Server/jar中的jar包导入至项目中,分为两个版本
WebsocketServer-WebStarterIncluded:内含spring-boot-starter-web依赖,无需spring-boot-starter-web依赖即可运行
WebsocketServer-WithoutWebStarter:无spring-boot-starter-web依赖,需要导入spring-boot-starter-web依赖才能运行
- 添加依赖:
在项目目录下新建libs文件夹并放入jar包,配置依赖:
- gradle:
```sh
implementation fileTree(dir: 'libs', includes: ['WebsocketServer.jar'])
```
- meavn
```sh
<dependency>
<groupId>zhao</groupId>
<artifactId>zhao</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/WebsocketServer.jar</systemPath>
</dependency>
```
Borwser端:
- 将websocket-Browser/websocketBrowser.js文件保存至前端项目中
使用方法详见demo
## 功能
Server端:
- @WsController注解标注controller层
- @WsMapping注解标注controller层方法
- 监听websocket中close、error、open事件只需要实现WsEvent接口
- 监听请求只需要实现WsAuthentication接口
- 自动回应心跳包
- 可以根据参数及参数名自动注入方法中
- WsUtil中封装通知、下线等方法
- 可同时处理字符数据以及字节数据
Browser端:
- newSocket建立与服务器连接,连接后自动发送心跳包,非正常断开自动重连
- setInit注册连接断开后执行方法
- addNoticeFunction注册通知执行方法
- socket发送请求,字符数据以及字节数据可同时发送,自动分片
- setWebsocketPath设置连接路径
- getCloseType获取连接断开类型,客户端登出或服务端踢出
## 开发者信息
- 作者:瞾彧滉
- 邮箱:zwh1350253335@gmail.com
- git小白一个,希望自己做的工具能帮助到更多的人,欢迎大家修改与指正
## 更新日志
0.1.1
- 优化消息队列,解决大文件信息缓存时的脏缓存问题
0.1.0
- websocketBrowser.js还可以进行优化,目前只可以连接单个服务器,可以改为直接按照路径进行访问,就像axios一样,后端SDK还有很多可修改参数没有暴露给开发者。但是能用。先忙毕业的事情。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
毕设&课设&项目&实训-基于 Spring Boot 和 JavaScript 的轻量级快速开发 WebSocket 协议通讯的工具包。 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
该项目是一个基于 Spring Boot 和 JavaScript 的轻量级快速开发 WebSocket 协议通讯的工具包。.zip (35个子文件)
资料总结
LICENSE 18KB
websocket-Server
src
main
resources
META-INF
spring
org.springframework.boot.autoconfigure.AutoConfiguration.imports 73B
java
cn
zhao
websocketserver
WsUtil.java 6KB
annotation
WsController.java 533B
WsMapping.java 607B
WsConfiguration.java 5KB
WsServer.java 6KB
pojo
WsToken.java 180B
WsRequestBody.java 2KB
MethodBean.java 1KB
WsEvent.java 353B
WsAuthentication.java 479B
jar
WebsocketServer-WebStarterIncluded
WebsocketServer.jar 20.35MB
WebsocketServer-WithoutWebStarter
WebsocketServer.jar 2.95MB
demo
browser
src
websocketBrowser.js 10KB
App.vue 3KB
main.js 704B
server
lib
WebsocketServer.jar 20.35MB
src
main
java
com
example
serverdemo
Event.java 769B
Listener.java 931B
TokenUtil.java 587B
DemoPo.java 861B
Controller.java 2KB
DemoVo.java 464B
ServerDemoApplication.java 323B
build.gradle 388B
.idea
libraries
WebsocketServer1.xml 272B
WebsocketServer.xml 272B
vcs.xml 167B
workspace.xml 7KB
misc.xml 172B
modules.xml 268B
websocket-Browser
websocketBrowser.js 10KB
zhao-Websocket.iml 597B
README.md 3KB
共 35 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功