sunkean 2 年 前
コミット
484e6397ea

+ 0 - 38
src/main/java/com/izouma/meta/service/WebSocketClient.java

@@ -1,38 +0,0 @@
-package com.izouma.meta.service;
-
-import javax.websocket.ClientEndpoint;
-import javax.websocket.ContainerProvider;
-import javax.websocket.Session;
-import javax.websocket.WebSocketContainer;
-import java.net.URI;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-@ClientEndpoint
-public class WebSocketClient {
-    private Session                  session;
-
-    public WebSocketClient(URI uri) {
-        try {
-            WebSocketContainer container = ContainerProvider.getWebSocketContainer();
-            container.connectToServer(this, uri);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    public void startSendingMessages(String message, long intervalSeconds) {
-        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
-        executor.scheduleAtFixedRate(() -> sendMessage(message), 0, intervalSeconds, TimeUnit.MILLISECONDS);
-    }
-
-    private void sendMessage(String message) {
-        try {
-            session.getBasicRemote().sendText(message);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-}

+ 11 - 0
src/main/java/com/izouma/meta/web/MetaCacheable.java

@@ -3,10 +3,15 @@ package com.izouma.meta.web;
 import com.izouma.meta.dto.MetaRestResult;
 import com.izouma.meta.websocket.MMOWebSocket;
 import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
 @RestController
 @RequestMapping("/metaCacheable")
 @AllArgsConstructor
@@ -18,4 +23,10 @@ public class MetaCacheable {
     public MetaRestResult<Void> clearMMO(String userId, String regionId, String cityId) {
         return mmoWebSocket.clearMMO(userId, regionId, cityId);
     }
+
+    @GetMapping("/run")
+    public void test() {
+        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
+        executor.scheduleAtFixedRate(() -> mmoWebSocket.onMessage("metaRobot", "7970191", "{type:9}", null), 0, 1000, TimeUnit.MILLISECONDS);
+    }
 }

+ 0 - 19
src/main/java/com/izouma/meta/web/WebSocketController.java

@@ -1,19 +0,0 @@
-package com.izouma.meta.web;
-
-import com.izouma.meta.service.WebSocketClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.net.URI;
-
-@RestController
-@RequestMapping("/webSocketController")
-public class WebSocketController {
-
-    @GetMapping("/run")
-    public void test() {
-        WebSocketClient client = new WebSocketClient(URI.create("ws://test.mmo.raex.vip/websocket/mmo/metaRobot/7970191"));
-        client.startSendingMessages("{type:9}", 1000);
-    }
-}

+ 1 - 1
src/main/java/com/izouma/meta/websocket/MMOWebSocket.java

@@ -157,7 +157,6 @@ public class MMOWebSocket {
             log.error(result.getMessage());
             return;
         }
-        log.info("来自客户端消息:" + message + "客户端的id是:" + session.getId());
         int type = Integer.parseInt(jsonObject.getString("type"));
         if (type == 9) {
             List<MetaObjectMove> metaObjectMoves = metaObjectMoveRepo.findAllByDelAndRun(false, true);
@@ -186,6 +185,7 @@ public class MMOWebSocket {
             }
             ;
         }
+        log.info("来自客户端消息:" + message + "客户端的id是:" + session.getId());
         String cityId = jsonObject.getString("cityId");
         String regionId = jsonObject.getString("regionId");
         String key = cityId.concat(":").concat(regionId);