Websocket
配置说明
yaml
--- # websocket
websocket:
# 如果关闭 需要和前端开关一起关闭
enabled: true
multiple:
# login用户登录类型
login:
# websocket连接路径:ws://localhost:8080/resource/websocket
paths: /resource/websocket
# 设置访问源地址
allowedOrigins: '*'
# user用户登录类型
user:
paths: /front/biz/websocket
# 设置自定义处理器需要继承AbstractCustomWebSocketHandler或实现ICustomWebSocketHandler
handler: org.dromara.biz.websocket.BizWebSocketHandler
yaml
--- # websocket,1.2.0版本及以下不支持多账号类型
websocket:
# 如果关闭 需要和前端开关一起关闭
enabled: true
# websocket连接路径:ws://localhost:8080/resource/websocket
path: /resource/websocket
# 设置访问源地址
allowedOrigins: '*'
- enabled 是否开启此功能
- path 应用路径
- allowedOrigins 设置访问源地址
- handler 自定义处理器
TIP
自 1.3.0
起版本支持多账号类型以及自定义处理器
重点: 如关闭ws功能需连同前端ws开关一同关闭 不然前端启动会报错
开发环境在 .env.development
文件中关闭,正式环境在.env
文件中关闭
properties
# websocket 开关
VITE_APP_WEBSOCKET=false
使用方法
前端连接方式: ws://后端ip:端口/resource/websocket?clientid=import.meta.env.VITE_APP_CLIENT_ID&Authorization=Bearer eyJ0eXAiO......
由于js不支持请求头传输故而采用参数传输 如支持请求头传输建议使用请求头传输
传输方式:
javascript
headers: {
Authorization: "Bearer " + getToken(),
clientid: import.meta.env.VITE_CLIENT_ID
}
其中 Authorization
为请求token需要登录后获取 连接成功之后 与框架内其他获取登录用户方式一致
WebSocketUtils.sendMessage
推送单机消息(特殊需求使用)WebSocketUtils.subscribeMessage
订阅分布式消息(框架初始化已订阅)WebSocketUtils.publishMessage
发布分布式消息(推荐使用 所有集群内寻找到接收人)