Ver código fonte

增加状态值

xiewenjie 3 anos atrás
pai
commit
2d820878d3

+ 59 - 21
sxz-application/src/main/java/com.fdkk.sxz/main.java

@@ -1,14 +1,15 @@
 package com.fdkk.sxz;
 
-import cn.hutool.core.lang.Console;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.socket.aio.AioClient;
-import cn.hutool.socket.aio.AioSession;
-import cn.hutool.socket.aio.SimpleIoAction;
-import com.alibaba.fastjson.JSON;
 
-import java.net.InetSocketAddress;
-import java.nio.ByteBuffer;
+import okhttp3.*;
+import okio.ByteString;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
 
 public class main {
     //public static void main(String[] args) {
@@ -190,21 +191,58 @@ public class main {
     //}
 
 
-    public static void main(String[] args) {
-        AioClient client = new AioClient(new InetSocketAddress("192.168.0.75", 8233), new SimpleIoAction() {
+    public static void main(String[] args) throws URISyntaxException, ExecutionException, InterruptedException {
+        URI uri = new URI("ws://192.168.0.75:8223/wss/maxToDataSmith/");
+        synchronized (uri.getPath()) {
+            main.getsocket();
+        }
+        System.out.println("hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+    }
+
+    private synchronized static void getsocket() {
+        Request request = new Request.Builder().url("ws://127.0.0.1:8223/wss/maxToDataSmith/").build();
+        OkHttpClient mOkHttpClient = new OkHttpClient.Builder()
+                .readTimeout(3, TimeUnit.SECONDS)//设置读取超时时间
+                .writeTimeout(3, TimeUnit.SECONDS)//设置写的超时时间
+                .connectTimeout(3, TimeUnit.SECONDS)//设置连接超时时间
+                .build();
+
+        WebSocketListener socketListener = new WebSocketListener() {
+            @Override
+            public void onClosed(@NotNull WebSocket webSocket, int code, @NotNull String reason) {
+                super.onClosed(webSocket, code, reason);
+            }
+
+            @Override
+            public void onClosing(@NotNull WebSocket webSocket, int code, @NotNull String reason) {
+                super.onClosing(webSocket, code, reason);
+            }
+
+            @Override
+            public void onFailure(@NotNull WebSocket webSocket, @NotNull Throwable t, @Nullable Response response) {
+                super.onFailure(webSocket, t, response);
+            }
+
+            @Override
+            public void onMessage(@NotNull WebSocket webSocket, @NotNull String text) {
+                super.onMessage(webSocket, text);
+                System.out.println(text);
+            }
+
+            @Override
+            public void onMessage(@NotNull WebSocket webSocket, @NotNull ByteString bytes) {
+                super.onMessage(webSocket, bytes);
+            }
 
             @Override
-            public void doAction(AioSession session, ByteBuffer data) {
-                if (data.hasRemaining()) {
-                    Console.log(StrUtil.utf8Str(data));
-                    session.read();
-                }
-                Console.log("OK");
+            public void onOpen(@NotNull WebSocket webSocket, @NotNull Response response) {
+                super.onOpen(webSocket, response);
+                webSocket.send("{\"uuid\":\"111222333\",\"max\":\"111222333.max\",\"flag\":\"false\"}");
             }
-        });
-        String json = JSON.toJSONString("{\"uuid\":\"111222333\",\"max\":\"111222333.max\",\"flag\":\"false\"}");
-        client.write(ByteBuffer.wrap(json.getBytes()));
-        client.read();
-        client.close();
+        };
+        mOkHttpClient.newWebSocket(request, socketListener);
+        mOkHttpClient.dispatcher().executorService().shutdown();
     }
+
+
 }

+ 2 - 6
sxz-core/src/main/java/com/fdkk/sxz/webApi/socket/ComponentCreateImgSocket.java

@@ -16,7 +16,6 @@ import org.yeauty.annotation.*;
 import org.yeauty.pojo.Session;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
@@ -49,12 +48,7 @@ public class ComponentCreateImgSocket {
 
     @BeforeHandshake
     public void handshake(Session session, HttpHeaders headers, @PathVariable Map<String, String> pathMap) {
-        String num = pathMap.get("num");
         String token = pathMap.get("token");
-        Map<String, String> paramsMap = new HashMap();
-        paramsMap.put("num", num);
-        Map<String, String> postHeaders = new HashMap();
-        postHeaders.put("token", token);
         session.setSubprotocols("stomp");
 //        JSONObject req=OkHttpUtils.httpPostFormReturnJson(mainUrl + "api/scene/isLogin", paramsMap, postHeaders);
         if (1 == 0) {
@@ -142,6 +136,7 @@ public class ComponentCreateImgSocket {
         res.set("msg", "done");
         res.set("data", resData);
         res.set("code", 0);
+        res.set("status", status);
         session.sendText(res.toString());
         //连接关闭直接return
         ComponentCreateImgSocket.componentSocketMap.remove("id" + data.getInt("id") + "session" + session.id());
@@ -153,6 +148,7 @@ public class ComponentCreateImgSocket {
         ComponentCreateImgSocket.log.info(message);
         JSONObject res = JSONUtil.createObj();
         res.set("code", 0);
+        res.set("status", "nothing");
         //业务处理 调用异步线程,处理成功返回消息,连接断开,销毁线程
         if (JSONUtil.isJson(message)) {
             JSONObject data = JSONUtil.parseObj(message);

+ 2 - 6
sxz-core/src/main/java/com/fdkk/sxz/webApi/socket/ComponentSocket.java

@@ -16,7 +16,6 @@ import org.yeauty.annotation.*;
 import org.yeauty.pojo.Session;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
@@ -49,12 +48,7 @@ public class ComponentSocket {
 
     @BeforeHandshake
     public void handshake(Session session, HttpHeaders headers, @PathVariable Map<String, String> pathMap) {
-        String num = pathMap.get("num");
         String token = pathMap.get("token");
-        Map<String, String> paramsMap = new HashMap();
-        paramsMap.put("num", num);
-        Map<String, String> postHeaders = new HashMap();
-        postHeaders.put("token", token);
         session.setSubprotocols("stomp");
 //        JSONObject req=OkHttpUtils.httpPostFormReturnJson(mainUrl + "api/scene/isLogin", paramsMap, postHeaders);
         if (1 == 0) {
@@ -141,6 +135,7 @@ public class ComponentSocket {
         resData.set("id", id);
         resData.set("status", status);
         res.set("msg", "done");
+        res.set("status", status);
         res.set("data", resData);
         res.set("code", 0);
         session.sendText(res.toString());
@@ -154,6 +149,7 @@ public class ComponentSocket {
         ComponentSocket.log.info(message);
         JSONObject res = JSONUtil.createObj();
         res.set("code", 0);
+        res.set("status", "nothing");
         //业务处理 调用异步线程,处理成功返回消息,连接断开,销毁线程
         if (JSONUtil.isJson(message)) {
             JSONObject data = JSONUtil.parseObj(message);

+ 2 - 6
sxz-core/src/main/java/com/fdkk/sxz/webApi/socket/CreateImgSocket.java

@@ -16,7 +16,6 @@ import org.yeauty.annotation.*;
 import org.yeauty.pojo.Session;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
@@ -49,12 +48,7 @@ public class CreateImgSocket {
 
     @BeforeHandshake
     public void handshake(Session session, HttpHeaders headers, @PathVariable Map<String, String> pathMap) {
-        String num = pathMap.get("num");
         String token = pathMap.get("token");
-        Map<String, String> paramsMap = new HashMap();
-        paramsMap.put("num", num);
-        Map<String, String> postHeaders = new HashMap();
-        postHeaders.put("token", token);
         session.setSubprotocols("stomp");
 //        JSONObject req=OkHttpUtils.httpPostFormReturnJson(mainUrl + "api/scene/isLogin", paramsMap, postHeaders);
         if (1 == 0) {
@@ -139,6 +133,7 @@ public class CreateImgSocket {
         JSONObject resData = JSONUtil.createObj();
         resData.set("id", id);
         resData.set("status", status);
+        res.set("status", status);
         res.set("msg", "done");
         res.set("data", resData);
         res.set("code", 0);
@@ -153,6 +148,7 @@ public class CreateImgSocket {
         CreateImgSocket.log.info(message);
         JSONObject res = JSONUtil.createObj();
         res.set("code", 0);
+        res.set("status", "nothing");
         //业务处理 调用异步线程,处理成功返回消息,连接断开,销毁线程
         if (JSONUtil.isJson(message)) {
             JSONObject data = JSONUtil.parseObj(message);

+ 2 - 6
sxz-core/src/main/java/com/fdkk/sxz/webApi/socket/ModelUploadSocket.java

@@ -16,7 +16,6 @@ import org.yeauty.annotation.*;
 import org.yeauty.pojo.Session;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
@@ -49,12 +48,7 @@ public class ModelUploadSocket {
 
     @BeforeHandshake
     public void handshake(Session session, HttpHeaders headers, @PathVariable Map<String, String> pathMap) {
-        String num = pathMap.get("num");
         String token = pathMap.get("token");
-        Map<String, String> paramsMap = new HashMap();
-        paramsMap.put("num", num);
-        Map<String, String> postHeaders = new HashMap();
-        postHeaders.put("token", token);
         session.setSubprotocols("stomp");
 //        JSONObject req=OkHttpUtils.httpPostFormReturnJson(mainUrl + "api/scene/isLogin", paramsMap, postHeaders);
         if (1 == 0) {
@@ -140,6 +134,7 @@ public class ModelUploadSocket {
         resData.set("id", id);
         resData.set("status", status);
         res.set("msg", "done");
+        res.set("status", status);
         res.set("data", resData);
         res.set("code", 0);
         session.sendText(res.toString());
@@ -153,6 +148,7 @@ public class ModelUploadSocket {
         ModelUploadSocket.log.info(message);
         JSONObject res = JSONUtil.createObj();
         res.set("code", 0);
+        res.set("status", "nothing");
         //业务处理 调用异步线程,处理成功返回消息,连接断开,销毁线程
         if (JSONUtil.isJson(message)) {
             JSONObject data = JSONUtil.parseObj(message);