websocket
parent
a7f8c1b6bf
commit
f7638e3b5e
|
|
@ -1,27 +1,18 @@
|
|||
package com.ruoyi.web.controller.system;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.CxSelect;
|
||||
import com.ruoyi.common.core.domain.entity.PrimaryRadarData;
|
||||
import com.ruoyi.common.core.domain.entity.SysIdentifier;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.SysRadar;
|
||||
import com.ruoyi.common.core.page.PageDomain;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.page.TableSupport;
|
||||
import com.ruoyi.common.json.JSONObject;
|
||||
import com.ruoyi.common.json.JSONObject.JSONArray;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import com.ruoyi.common.utils.bean.ModbusResponse;
|
||||
import com.ruoyi.common.utils.modbus.ModbusUtils;
|
||||
import com.ruoyi.framework.web.domain.server.Sys;
|
||||
import com.ruoyi.system.service.ISysRadarService;
|
||||
import com.ruoyi.system.service.PrimaryRadarDataService;
|
||||
import com.ruoyi.system.service.impl.IdentifierStatusServiceImpl;
|
||||
import com.ruoyi.web.core.config.RadarStatusWebSocket;
|
||||
import com.serotonin.modbus4j.ModbusMaster;
|
||||
import com.serotonin.modbus4j.exception.ErrorResponseException;
|
||||
import com.serotonin.modbus4j.exception.ModbusTransportException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -36,7 +27,7 @@ import java.util.*;
|
|||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
/**
|
||||
* 标识器状态
|
||||
* 雷达状态
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
|
|
@ -86,7 +77,7 @@ public class RadarStatusController
|
|||
|
||||
modbusResponse = ModbusUtils.holdingRegister();
|
||||
System.out.println(modbusResponse);
|
||||
|
||||
RadarStatusWebSocket.sendToAll(modbusResponse.toString());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.err.println("从串口读取失败:" + e.getMessage());
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
package com.ruoyi.web.core.config;
|
||||
|
||||
import javax.websocket.*;
|
||||
import javax.websocket.server.ServerEndpoint;
|
||||
import java.io.IOException;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@ServerEndpoint("/websocket")
|
||||
public class RadarStatusWebSocket {
|
||||
|
||||
private static Set<Session> sessions = new HashSet<>();
|
||||
|
||||
@OnOpen
|
||||
public void onOpen(Session session) {
|
||||
sessions.add(session);
|
||||
}
|
||||
|
||||
@OnClose
|
||||
public void onClose(Session session) {
|
||||
sessions.remove(session);
|
||||
}
|
||||
|
||||
public static void sendToAll(String message) {
|
||||
for (Session session : sessions) {
|
||||
try {
|
||||
session.getBasicRemote().sendText(message);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue