From b010e213a1c1bf5845a952a7ad747b34c601a847 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Thu, 25 Mar 2021 12:05:19 +0800
Subject: [PATCH] 用户心跳
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/WebSocketHandler.java | 35 +++++++++++++++++------------------
1 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/WebSocketHandler.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/WebSocketHandler.java
index 2cbdd7f..8bbc651 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/WebSocketHandler.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/webscoket/WebSocketHandler.java
@@ -62,6 +62,12 @@
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
//断开连接
System.out.println("客户端断开连接:" + ctx.channel());
+ //用户离线状态
+ String name = ChannelSupervise.findName(ctx.channel().id().asShortText());
+ String num="0";
+ //工作状态(0闲置,1工作中)
+ String workSt = "0";
+ webSocketHandler.suserService.updateUser(num,name,workSt);
ChannelSupervise.removeChannel(ctx.channel());
}
@@ -90,26 +96,19 @@
}
// 返回应答消息
String request = ((TextWebSocketFrame) frame).text();
- String substring1 = request.substring(0, 2);
+ //把用户信息添加到通道里
+ ChannelSupervise.addChannel(ctx.channel(),request);
//用户在线状态
- if(substring1.equals("登录")){
- String online="1";
- String substring = request.substring(0, request.length());
- System.out.println(substring);
- String[] split = substring.split(",");//以逗号分割
- this.on=split[1];
- webSocketHandler.suserService.updateUser(online,this.on);
+ this.on=request;
+ //在线状态(0掉线,1在线)
+ String num="1";
+ //工作状态(0闲置,1工作中)
+ String workSt = "0";
+
+ if (!request.equals("ping")){
+ webSocketHandler.suserService.updateUser(num,request,workSt);
}
- //用户离线状态
- else if (substring1.equals("退出")){
- String online="0";
- String substring = request.substring(0, request.length());
- System.out.println(substring);
- String[] split = substring.split(",");//以逗号分割
- this.on=split[1];
- webSocketHandler.suserService.updateUser(online,this.on);
- webSocketHandler.channelInactive(ctx);
- }
+
TextWebSocketFrame tws = new TextWebSocketFrame(new Date().toString()
+ ctx.channel().id() + ":" + ctx.channel());
// 返回【谁发的发给谁】
--
Gitblit v1.9.3