From 8619f04e7ba899bc468c3439305c00c953dd41a8 Mon Sep 17 00:00:00 2001 From: whyczh <hzjl@qq.com> Date: 星期三, 07 四月 2021 11:46:23 +0800 Subject: [PATCH] 更新试验计划websocket接口 --- src/main/java/com/whyc/ws/TestDataWebSocket.java | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/whyc/ws/TestDataWebSocket.java b/src/main/java/com/whyc/ws/TestDataWebSocket.java index 202591b..e4a69a1 100644 --- a/src/main/java/com/whyc/ws/TestDataWebSocket.java +++ b/src/main/java/com/whyc/ws/TestDataWebSocket.java @@ -17,7 +17,7 @@ import java.util.List; import java.util.concurrent.CopyOnWriteArraySet; -@ServerEndpoint(value = "/testDataWebSocket/{testPlanId}",encoders = WebSocketEncoder.class) +@ServerEndpoint(value = "/testDataWebSocket",encoders = WebSocketEncoder.class) @Component @Slf4j public class TestDataWebSocket { @@ -42,7 +42,7 @@ /** * 鏍囪瘑褰撳墠杩炴帴瀹㈡埛绔殑鍙傛暟 璇曢獙璁″垝id */ - private Integer testPlanId; + //rivate Integer testPlanId; /** * 鐢ㄤ簬瀛樻墍鏈夌殑杩炴帴鏈嶅姟鐨勫鎴风锛岃繖涓璞″瓨鍌ㄦ槸瀹夊叏鐨� @@ -51,16 +51,16 @@ private static CopyOnWriteArraySet<TestDataWebSocket> webSockets = new CopyOnWriteArraySet<>(); @OnOpen - public void onOpen(Session session,@PathParam("testPlanId") Integer testPlanId){ + public void onOpen(Session session){ System.out.println("璇曢獙璁″垝瀹炴椂鏁版嵁websocket..."); this.session = session; - this.testPlanId = testPlanId; + //this.testPlanId = testPlanId; webSockets.add(this); } @OnMessage - public void onMessage(Integer message,Session session) { + public void onMessage(String message,Session session) { try { this.sendMessage(message); } catch (IOException e) { @@ -68,21 +68,24 @@ } } - public void sendMessage(Integer testPlanId) throws IOException{ + public void sendMessage(String testPlanId) throws IOException{ Thread thread = new Thread("TestDataWebSocket"){ @Override public void run() { while (true) { try { - Response model = null; + Response model = new Response(); //鑾峰彇璇曢獙璁″垝鏁版嵁 - TestPlan testPlan = testPlanService.getOneById(testPlanId); + TestPlan testPlan = testPlanService.getOneById(Integer.parseInt(testPlanId)); //鑾峰彇璇曢獙鍙傝瘯璁惧 + if(testPlan==null){ + break; + } String devices = testPlan.getDevices(); String[] devIds = devices.split(","); List<MotorState> list = new ArrayList<>(); for (String deviceId:devIds) { - MotorState motorState = motorStateService.getByDeviceId(Integer.valueOf(deviceId)); + MotorState motorState = motorStateService.getByDeviceId(Integer.parseInt(deviceId)); list.add(motorState); } model.set(1,list); -- Gitblit v1.9.1