栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用websocket监控后台数据

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用websocket监控后台数据

应甲方要求,我们要在页面按频次刷新后台目标数据,当然是首选websocket了,由后台向前端推送数据。前端修改刷新频次时,向后端发送数据。类似RabbitMQ管理后台自动刷新。


    org.springframework.boot
    spring-boot-starter-websocket
    2.1.10.RELEASE

@Configuration
public class WebSocketConfig {
	@Bean
	public ServerEndpointExporter serverEndpointExporter() {
	    return new ServerEndpointExporter();
	}
}

代码已简化,默认每秒刷新一次,有客户端接入时,开始推送数据。

@ServerEndpoint("/websocket/monitor")
@Component
public class MyServerEndPoint {
    @OnOpen
    public void onOpen(Session session) {
        sessionMap.put(session.getId(), session);
        sessionMapSleep.put(session.getId(), 1);
        executorService.submit(() -> {
            while (null != sessionMap.get(session.getId())) {
                try {
                    session.getBasicRemote().sendText("monitor: " + DateHelper.getTime() + "; random=" + ThreadLocalRandom.current().nextInt(1000));
                    TimeUnit.SECONDS.sleep(sessionMapSleep.get(session.getId()));
                } catch (Exception e) {
                    logger.log(Level.ALL, "websocket monitor send error", e);
                }
            }
        });
    }
}

最后来个涂鸦的html,刷新频次没有使用下拉,也没有使用raddio,鬼使神差的用了checkbox。

页面比较简单,贴一下部分关键代码,保留了小黑checkbox反向选择的代码。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号