From 03e26beab1d9c382b685c26059e6dec274a0d7d4 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期三, 25 十月 2023 16:44:29 +0800 Subject: [PATCH] 四川省网关接口相关5 --- src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDevice.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/sc2023/websocket/WebSocketDevice.java b/src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDevice.java similarity index 83% rename from src/main/java/com/fzzy/gateway/sc2023/websocket/WebSocketDevice.java rename to src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDevice.java index 79f37a2..dce5180 100644 --- a/src/main/java/com/fzzy/gateway/sc2023/websocket/WebSocketDevice.java +++ b/src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDevice.java @@ -1,7 +1,8 @@ -package com.fzzy.gateway.sc2023.websocket; +package com.fzzy.gateway.hx2023.websocket; import com.alibaba.fastjson.JSONObject; -import com.fzzy.gateway.sc2023.data.WebSocketPacket; +import com.fzzy.gateway.hx2023.ScConstant; +import com.fzzy.gateway.hx2023.data.WebSocketPacket; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Component; @@ -17,7 +18,7 @@ */ @Slf4j @Component -@ServerEndpoint(value = "/device/${productId}/${deviceId}/message/property/report") +@ServerEndpoint(value = "/device/{productId}/{deviceId}/message/property/report") public class WebSocketDevice { private static Map<String, Session> sessionPool = new ConcurrentHashMap<>(); @@ -41,6 +42,8 @@ sessionPool.put(key, session); sessionIds.put(session.getId(), key); + ScConstant.updateOnline(deviceId); + log.info("new webSocket,clientId={}", key); } @@ -49,11 +52,14 @@ String key = sessionIds.get(session.getId()); + String deviceId = key.substring(0, key.indexOf("-")); + + ScConstant.updateOffOnline(deviceId); + sessionPool.remove(key); sessionIds.remove(session.getId()); log.info("WebSocket杩炴帴鍏抽棴={}", key); - } @@ -75,6 +81,10 @@ String key = sessionIds.get(session.getId()); + String deviceId = key.substring(0, key.indexOf("-")); + + ScConstant.updateOffOnline(deviceId); + sessionPool.remove(key); sessionIds.remove(session.getId()); error.printStackTrace(); @@ -82,6 +92,8 @@ /** + * 鎺ㄩ�佷俊鎭埌鍓嶇 + * * @param packet */ public static void sendByPacket(WebSocketPacket packet) { -- Gitblit v1.9.3