WebSocket 端口未开放提醒

  • 文档创建者:Leo.Tsai
  • 编辑次数:5次
  • 最近更新:Wendy123456 于 2020-05-19
  • 1. 概述

    1.1 版本

    报表服务器版本

    JAR 包版本

    10.02019-12-05

    1.2 问题现象

    下面介绍 WebSocket 未连接时出现的问题现象:

    1)管理员登录数据决策系统,点击管理系统>智能运维>内存管理,「内存预警」Tab 下内存利用率CPU 利用率这两张图显示空白(工程刚启动需要等待一两分钟才会显示)。

    2)管理员登录数据决策系统,点击管理系统>智能运维>平台日志,「访问统计」Tab 下当前系统在线人数无法正确显示。

    3)踢出登录失效,不能实时踢出,在框架内显示登录页面,即没有跳出框架直接跳转到登录界面。如下图所示:

    19.png

    该问题出现的场景:单一登陆踢出、禁用用户、修改用户密码、修改认证方式、切换同步导入、平台使用用户禁用用户/打开限制开关,更换 Lic 等。

    4)用户收不到右下角消息弹窗且小铃铛处无消息提示,但是可以点击小铃铛进入消息面板查看。

    5)登录数据决策系统时不勾选保持登陆状态

    管理系统>系统管理>登录超时设置设置为 1 小时,WebSocket 未连接,查看 token 有效期:例如 3 点登录,4 点被踢出(平台无操作情况下),若 3 点 20 在平台操作,则不能重新获取 token ,依旧 4 点被踢出,若 WebSocket 连接成功,应为 4 点 20 被踢出(平台无操作情况下)。

    登录数据决策系统时勾选保持登录状态

    WebSocket 未连接,查看 token 有效期:正常是 14 天,若 14 天内在平台上操作,不能重新获取 token ,依旧 14 天后被踢出。

    6)在插件商城安装或者删除插件时没有成功或者失败的提示。

    7)可能存在多人同时编辑同一个数据连接的情况。

    1.3 原因分析

    上述问题中 WebSocket 未连接可能是 WebSocket 端口未开放或者 WebSocket 端口被占用导致的。目前可以通过以下办法检测 WebSocket 是否连接成功:

    • 直接查看管理系统>智能运维>内存管理>实时内存的两张图片能不能出来,不显示则未连接。

    • F12 打开控制台,输入 Dec.socket.connected,如果是 false 表示未连接。

    • F12 打开控制台,如果有关于 38889(代理服务器默认端口号) 之类 Socket 端口的报错,且最后出现了 connect error 那就是没有连接成功。

    注:FineReport 的 WebSocket 端口默认为[38888,39888],端口号优先 38888 ,其次 39888 。

    2. 解决方案

    1)如果是 WebSocket 端口未开放导致的,那么在客户愿意开放端口的前提下,需要提醒管理员开启 WebSocket 端口。提示信息如下表所示:

    注:开启 WebSocket 端口的方法参见文档:常规中的 2.9 WebSocket 设置。

    序号问题问题描述提示信息
    1

    登录超时

    平台使用时会刷新 token ,若 socket 未连接上,超过登录时间就需要重新登录

    管理员登录平台后,顶部弹出提示信息:Socket 未连接,使用过程中将无法保持登录状态,相关端口可能未开放

    每次刷新平台页面也会弹出提示,刷新指浏览器刷新如 F5

    2用户被踢出被动踢出的用户,若登录着平台,无感知,当触发请求资源时提示登录失败暂不给出提示信息
    3

    消息通知

    推送消息依赖 WebSocket,用户收不到右下角消息弹窗且小铃铛处无消息提示

    管理员登录平台后,顶部弹出提示信息:Socket 未连接,使用过程中将无法保持登录状态,相关端口可能未开放

    每次刷新平台页面也会弹出提示,刷新指浏览器刷新如 F5

    4内存和 CPU 的图内存利用率和 CPU 利用率的图不能加载出来

    进入实时内存查看页面,顶部弹出提示信息:

    Socket 未连接,实时内存显示等异常,相关端口可能未开放

    5日志统计记录

    系统在线人数不能正确显示,模板执行过程统计如内存、耗时等无法记录

    进入页面,顶部弹出提示信息:

    Socket 未连接,系统访问用户统计等异常,请开启相关端口,相关端口可能未开放

    6数据连接编辑状态唯一可能存在多人同时编辑同一个数据连接的情况

    进入数据连接编辑界面,顶部弹出提示信息:

    Socket 未连接,可能存在多人同时编辑造成冲突,相关端口可能未开放

    提示信息的样式如下图所示:

    socket连接提示.png

    2)如果是 WebSocket 端口被占用导致的,详细内容参见:Websocket端口被占用的处理方法

    附件列表


    主题: 数据决策系统
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!