1. 概述
1.1 版本
报表服务器版本 | JAR 包版本 | 新增功能 |
---|---|---|
10.0 | - | - |
10.0 | 2019-11-08 | WebSocket 转发端口字段由 WebSocketConfig.requestPort改为 WebSocketConfig.requestPorts WebSocket 转发端口支持设置多个值 |
10.0.9 | 2020-08-31 | WebSocket 未连接时,管理员登录平台,去除顶部弹窗提示。 Websocket 未连接时,token可自动刷新 |
1.2 功能简介
本文将从以下几点为大家介绍websocket。
1)为什么要设置websocket
2)不设置websocket会怎么样
3)怎么设置websocket
4)websocket设置不生效怎么排查
2. WebSocket的作用
WebSocket可以让服务器端主动向客户端推送数据。
在WebSocket API中,客户端和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
WebSocket 主要用于刷新 token、用户被踢出、平台消息、内存和 CPU 显示、平台日志处当前系统在线人数、数据连接编辑状态的确定。
3. WebSocket 端口配置
3.1 默认端口
FineReport 工程默认配置了 WebSocket 端口和 WebSocket 转发端口。
根据不同的工程环境,两个端口的生效顺序不完全相同。按照生效顺序,会依次尝试监听,如果有一个端口监听成功,则不再尝试其他端口。
端口 | JAR 包 | ID | 默认值 | 是否支持 设置多个值 |
---|---|---|---|---|
Websocket 端口 | - | WebSocketConfig.port | ["38888", "39888"] | 支持 |
Websocket 转发端口 | 2019-11-08 之前 | WebSocketConfig.requestPort | 38889 | 支持 |
2019-11-08 及之后 | WebSocketConfig.requestPorts | 38889 | 支持 |
3.2 配置方法
用户可根据自己的工程情况选择合适的 WebSocket 端口配置方法,详情请参见下表:
场景 | 配置方法 |
---|---|
单机环境配置 WebSocket 端口 | 单机配置WebSocket端口 |
集群环境配置 WebSocket 端口 | 集群配置WebSocket端口 |
HTTPS 环境配置 Websocket 端口 | HTTPS环境配置WebSocket |
仅对外开放一个端口 | 不额外给WebSocket对外开放端口 |
4. Websocket 连接失败
如果按照 3.2 节的 WebSocket 端口配置方法配置后,websocket仍然连接失败,请参考文档排查:WebSocket连接失败