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}