websocket
parent
a7f8c1b6bf
commit
f7638e3b5e
|
|
@ -1,27 +1,18 @@
|
||||||
package com.ruoyi.web.controller.system;
|
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.domain.entity.SysRadar;
|
||||||
import com.ruoyi.common.core.page.PageDomain;
|
import com.ruoyi.common.core.page.PageDomain;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.core.page.TableSupport;
|
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.bean.ModbusResponse;
|
||||||
import com.ruoyi.common.utils.modbus.ModbusUtils;
|
import com.ruoyi.common.utils.modbus.ModbusUtils;
|
||||||
import com.ruoyi.framework.web.domain.server.Sys;
|
import com.ruoyi.framework.web.domain.server.Sys;
|
||||||
import com.ruoyi.system.service.ISysRadarService;
|
import com.ruoyi.system.service.ISysRadarService;
|
||||||
import com.ruoyi.system.service.PrimaryRadarDataService;
|
import com.ruoyi.system.service.PrimaryRadarDataService;
|
||||||
import com.ruoyi.system.service.impl.IdentifierStatusServiceImpl;
|
import com.ruoyi.system.service.impl.IdentifierStatusServiceImpl;
|
||||||
|
import com.ruoyi.web.core.config.RadarStatusWebSocket;
|
||||||
import com.serotonin.modbus4j.ModbusMaster;
|
import com.serotonin.modbus4j.ModbusMaster;
|
||||||
import com.serotonin.modbus4j.exception.ErrorResponseException;
|
|
||||||
import com.serotonin.modbus4j.exception.ModbusTransportException;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -36,7 +27,7 @@ import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 标识器状态
|
* 雷达状态
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
|
|
@ -86,7 +77,7 @@ public class RadarStatusController
|
||||||
|
|
||||||
modbusResponse = ModbusUtils.holdingRegister();
|
modbusResponse = ModbusUtils.holdingRegister();
|
||||||
System.out.println(modbusResponse);
|
System.out.println(modbusResponse);
|
||||||
|
RadarStatusWebSocket.sendToAll(modbusResponse.toString());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.err.println("从串口读取失败:" + e.getMessage());
|
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