jiazx0107@163.com
2023-10-25 03e26beab1d9c382b685c26059e6dec274a0d7d4
src/main/java/com/fzzy/gateway/hx2023/websocket/WebSocketDevice.java
ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/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) {