1. 概述
1.1 版本
報表伺服器版本 | 新增功能 |
11.0 | - |
11.0.2 | 新增了一個容器Websocket方案,詳情請參見:容器Websocket方案 |
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.requestPorts | 38889 | 支援 |
3.2 配置方法
使用者可根據自己的工程情況選擇合適的 WebSocket 埠配置方法,詳情請參見下表:
方案 | 場景 | 配置方法 |
容器Websocket方案 | 11.0.2及之後版本,新增了一個容器Websocket方案 無需任何使用者操作,系統可自動使用Web容器自帶的WebSocket進行連結,埠複用http埠
| |
socket.io方案 | 單機環境配置 WebSocket 埠 | |
集群環境配置 WebSocket 埠 | ||
HTTPS 環境配置 Websocket 埠 | ||
僅對外開放一個埠 |