From 8d6b17bfa56fd767c6f9de666eb0dd44c6b032cd Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 22 五月 2025 15:42:38 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/tools/WebSocketServer.java | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/tools/WebSocketServer.java b/north-glass-erp/src/main/java/com/example/erp/tools/WebSocketServer.java
new file mode 100644
index 0000000..a21c70e
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/tools/WebSocketServer.java
@@ -0,0 +1,70 @@
+package com.example.erp.tools;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.io.IOException;
+
+/**
+ * @author HFL
+ * @date 2022/5/16 15:17
+ * Websocket搴旂敤瀹炵幇:
+ * 1.寤虹珛杩炴帴锛岃繛鎺ユ斁鍏ヨ繛鎺ユ睜
+ * 2.鍏抽棴杩炴帴锛岃繛鎺ョЩ鍑鸿繛鎺ユ睜
+ * 3.鎺ユ敹瀹㈡埛绔彂閫佺殑娑堟伅锛屽苟鍋氬嚭鐩稿簲澶勭悊
+ * 4.娉ㄥ叆涓氬姟灞傜殑service
+ * [娉ㄦ剰锛歋pring绠$悊鐨凚ean鏄崟渚嬫ā寮忕殑锛岃�學ebSocket涓嶆槸鍗曚緥锛屾敞鍏ユ椂闇�瑕佸鐞嗕竴涓媇
+ * 5.寮傚父澶勭悊锛岃繛鎺ョЩ闄よ繛鎺ユ睜
+ */
+@Slf4j
+@Component
+@ServerEndpoint("/websocket/{id}")
+public class WebSocketServer {
+
+ /**
+ * 寤虹珛杩炴帴鎴愬姛璋冪敤 (Session + 鍦烘櫙)
+ */
+ @OnOpen
+ public void onOpen(Session session,@PathParam("id") String screen) throws IOException {
+ log.info("[onOpen][session({}) 鎺ュ叆, [screen: {}]", session, screen);
+ WebSocketServerPool.addDataConnect(session, screen);
+ //WebSocketServerPool.sendMessage(session, configurationScreenService.queryAllJsonById(screen));
+ }
+
+ /**
+ * 鍏抽棴杩炴帴鏃惰皟鐢�
+ * @param session 杩炴帴
+ */
+ @OnClose
+ public void onClose(Session session, CloseReason closeReason) {
+ log.info("[onClose][session({}) 杩炴帴鍏抽棴銆傚叧闂師鍥犳槸({})}]", session, closeReason);
+ WebSocketServerPool.removeConnect(session);
+ }
+
+ /**
+ * 閿欒鏃惰皟鐢�
+ * @param session 杩炴帴
+ * @param throwable 寮傚父
+ */
+ @OnError
+ public void onError(Session session, Throwable throwable) {
+ log.info("[onClose][session({}) 鍙戠敓寮傚父]", session, throwable);
+ WebSocketServerPool.removeConnect(session);
+ }
+
+ /**
+ * 鏀跺埌瀹㈡埛绔俊鎭悗锛屾牴鎹帴鏀跺埌鐨勪俊鎭繘琛屽鐞�
+ * @param session 杩炴帴
+ * @param message 鏁版嵁娑堟伅
+ */
+ @OnMessage
+ public void onMessage(Session session, String message) {
+ //log.info("[onOpen][session({}) 鎺ユ敹鍒颁竴鏉℃秷鎭�({})]", session, message);
+ // TODO: 瀵逛簬瀹㈡埛绔彂閫佺殑鎸囦护淇℃伅锛岃В鏋愬悗杩涜瀵瑰簲鐨勯�昏緫澶勭悊
+ }
+
+}
--
Gitblit v1.8.0