ÎļþÃû´Ó src/main/java/com/fzzy/gateway/sc2023/websocket/WebSocketDevice.java ÐÞ¸Ä |
| | |
| | | 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; |
| | |
| | | */ |
| | | @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<>(); |
| | |
| | | sessionPool.put(key, session); |
| | | sessionIds.put(session.getId(), key); |
| | | |
| | | ScConstant.updateOnline(deviceId); |
| | | |
| | | log.info("new webSocket,clientId={}", key); |
| | | } |
| | | |
| | |
| | | |
| | | 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); |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | 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(); |
| | |
| | | |
| | | |
| | | /** |
| | | * æ¨éä¿¡æ¯å°å端 |
| | | * |
| | | * @param packet |
| | | */ |
| | | public static void sendByPacket(WebSocketPacket packet) { |