diff --git a/src/main/java/org/aohe/control/Operational.java b/src/main/java/org/aohe/control/Operational.java index e96095f..22d4e16 100644 --- a/src/main/java/org/aohe/control/Operational.java +++ b/src/main/java/org/aohe/control/Operational.java @@ -21,15 +21,11 @@ public class Operational { private static JSONObject settings = new JSONObject(); - public static String selectOperational(String path) { - JSONObject json = JSONObject.parse(path); + public static String selectOperational(JSONObject json) { + log.info("用户发送了数据:\n {}", json.toJSONString()); //操作符 String function = json.getString("function"); - String type = json.getString("type"); - if("ping".equals(type)){ - return R.ok().toJsonStr(); - } if(function == null){ return R.fail("操作符为空").toJsonStr(); } diff --git a/src/main/java/org/aohe/web/SocketServer.java b/src/main/java/org/aohe/web/SocketServer.java index ad31eec..c27e338 100644 --- a/src/main/java/org/aohe/web/SocketServer.java +++ b/src/main/java/org/aohe/web/SocketServer.java @@ -1,5 +1,6 @@ package org.aohe.web; +import com.alibaba.fastjson2.JSONObject; import lombok.extern.slf4j.Slf4j; import org.aohe.result.R; import org.java_websocket.WebSocket; @@ -40,8 +41,12 @@ public class SocketServer extends WebSocketServer { @Override public void onMessage(WebSocket conn, String message) { - log.info("用户发送了数据:\n {}", message); - conn.send(selectOperational(message)); + JSONObject json = SocketUtils.isNoPingMessage(message); + if (json == null){ + conn.send(R.ok().toJsonStr()); + }else{ + conn.send(selectOperational(json)); + } } @Override diff --git a/src/main/java/org/aohe/web/SocketUtils.java b/src/main/java/org/aohe/web/SocketUtils.java index 5d7bf7c..bdda5b4 100644 --- a/src/main/java/org/aohe/web/SocketUtils.java +++ b/src/main/java/org/aohe/web/SocketUtils.java @@ -1,5 +1,6 @@ package org.aohe.web; +import com.alibaba.fastjson2.JSONObject; import org.aohe.constant.SocketEnum; import java.net.UnknownHostException; @@ -70,4 +71,17 @@ public class SocketUtils { map.forEach((k,v)-> safeStop(k)); } + /** + * json 格式是否是ping,不是ping就解析 + * @param message + * @return + */ + public static JSONObject isNoPingMessage(String message){ + JSONObject json = JSONObject.parse(message); + String type = json.getString("type"); + if("ping".equals(type)){ + return json; + } + return null; + } } diff --git a/src/main/java/org/aohe/webcam/WebcamShowTask.java b/src/main/java/org/aohe/webcam/WebcamShowTask.java index df80d6f..e85cea3 100644 --- a/src/main/java/org/aohe/webcam/WebcamShowTask.java +++ b/src/main/java/org/aohe/webcam/WebcamShowTask.java @@ -16,7 +16,9 @@ import java.util.concurrent.TimeUnit; @Slf4j public class WebcamShowTask extends Thread { - private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); + private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); + + private String lastLog = ""; @Override public void run() { @@ -49,11 +51,15 @@ public class WebcamShowTask extends Thread { baos.close(); } } catch (Exception e) { - log.error(e.getMessage(), e); + if(!lastLog.equals(e.getMessage())){ + //相同的错误只打印一次 + log.error(e.getMessage()); + lastLog = e.getMessage(); + } } }, 0, 100, TimeUnit.MILLISECONDS); - try { + try { Thread.currentThread().join(); } catch (InterruptedException e) { log.error("Main thread interrupted", e); @@ -65,7 +71,7 @@ public class WebcamShowTask extends Thread { // SocketUtils.start(SocketEnum.CAM_SOCKET); // WebCamUtils.setWebcam(0); // WebCamUtils.open(); -// //File file = new File("\"C:\\Users\\JianGuo\\Pictures\\Screenshots\\abc.png"); +// //File file = new File("\"C:\\Users\\xxx\\Pictures\\Screenshots\\abc.png"); // while (true){ // SocketUtils.get(SocketEnum.CAM_SOCKET.getName()).broadcastNew(WebCamUtils.getImageByteBuffer()); // } diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index d1bbc4b..8f31338 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -20,7 +20,7 @@ ${log.path}/ScanService.%d{yyyy-MM-dd}.log 60 - 20GB + 200M ${log.pattern}