Pārlūkot izejas kodu

1.2020-12-17
———— by qlm

qlm 4 gadi atpakaļ
vecāks
revīzija
8c3e28069a

+ 21 - 1
src/main/java/com/xc/controller/WebSocketTestController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.net.URI;
+import java.util.UUID;
 
 @Controller
 @RequestMapping({"/ws/test/"})
@@ -24,7 +25,7 @@ public class WebSocketTestController {
     @ResponseBody
     public String star() {
         try {
-            String url = PropertiesUtil.getProperty("ws.url")+"zxdata987654+";
+            String url = PropertiesUtil.getProperty("ws.url")+ UUID.randomUUID().toString().replace("-","");
             WsClient myClient = new WsClient(new URI(url));
             myClient.connect();
             while (!myClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)) {
@@ -37,6 +38,25 @@ public class WebSocketTestController {
 
         return "true";
     }
+
+    @RequestMapping({"killws.do"})
+    @ResponseBody
+    public String killws() {
+        try {
+
+            String url = PropertiesUtil.getProperty("ws.url")+ UUID.randomUUID().toString().replace("-","");
+            WsClient myClient = new WsClient(new URI(url));
+            myClient.closeWebSocket();
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return "true";
+    }
+
+
+
     @RequestMapping({"test.do"})
     @ResponseBody
     public String star2() {

+ 3 - 1
src/main/java/com/xc/controller/websocket/WebSocketController.java

@@ -111,7 +111,9 @@ public class WebSocketController {
             if ("all".equals(userid)) {
                 for(String key:map.keySet()){
                     Session session = map.get(key);
-                    session.getBasicRemote().sendText(xMessage);
+                    if(session!=null){
+                        session.getBasicRemote().sendText(xMessage);
+                    }
                 }
             }
         } catch (IOException e) {

+ 6 - 1
src/main/java/com/xc/utils/websocket/WsClient.java

@@ -43,7 +43,9 @@ public class WsClient extends WebSocketClient {
     public void onMessage(String arg0) {
         try {
             if(StringUtils.isNotBlank(arg0)){
-                System.out.println(arg0);
+                // 存储信息至redis
+                //?
+              //  System.out.println(arg0);
                 // 处理数据 并 推送给 客户
                 new WebSocketController().sendSysMsg("all",arg0);
             }
@@ -53,4 +55,7 @@ public class WsClient extends WebSocketClient {
 
     }
 
+    public void closeWebSocket(){
+        this.onClose(1,"",true);
+    }
 }

+ 1 - 0
src/main/resources/stock2guo.properties

@@ -154,5 +154,6 @@ jisuapi.news.url=https://api.jisuapi.com/news/get
 jisuapi.news.channel=股票
 
 #websocket 订阅地址 (数据解析服务器)
+#ws.url=ws://127.0.0.1:8080/websocket/
 ws.url=ws://101.32.215.72:8080/data_server_java/websocket/