|
|
@@ -85,16 +85,24 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
|
|
|
ip = ip.split(",")[0];
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(ip))
|
|
|
- LogUtils.WEBSOCKET_MSG.info("[建立连接],ip:{}", ip);
|
|
|
+ LogUtils.WEBSOCKET_MSG.info("[准备建立连接],ip:{}", ip);
|
|
|
}
|
|
|
IotServerInfo serverInfo = iotServerInfoService.selectByToken(token);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ if (serverInfo == null) {
|
|
|
+ map.put("statusDescription", "链接凭证不可用!");
|
|
|
+ map.put("statusCode", WebsocketStatus.ERROR.getStatusCode());
|
|
|
+ WebsocketResult result = createWebsocketResult(null, "login", map);
|
|
|
+ WebSocketUtils.sendMessage(session, JacksonUtils.toJSONString(result));
|
|
|
+ session.close();
|
|
|
+ return;
|
|
|
+ }
|
|
|
serverInfo.setIotIp(ip);
|
|
|
serverInfo.setRegisterCodeStatus(1);
|
|
|
serverInfo.setLastConnectTime(LocalDateTime.now());
|
|
|
serverInfo.setIotStatus(IotServerConnectStatus.CONNECTED.getIdx());
|
|
|
iotServerInfoService.updateByToken(serverInfo);
|
|
|
WebSocketSessionHolder.addSession(token, session);
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
map.put("statusCode", WebsocketStatus.SUCCESS.getStatusCode());
|
|
|
WebsocketResult result = createWebsocketResult(null, "login", map);
|
|
|
WebSocketUtils.sendMessage(session, JacksonUtils.toJSONString(result));
|
|
|
@@ -126,9 +134,10 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
|
|
|
// 从WebSocket会话中获取登录用户信息
|
|
|
String token = WebSocketSessionHolder.updateToken(session);
|
|
|
String payload = message.getPayload();
|
|
|
- LogUtils.WEBSOCKET_MSG.info("token:{},接收到消息:{}", token, message.getPayload());
|
|
|
+ final String ip = WebSocketUtils.getIp(session);
|
|
|
+ LogUtils.WEBSOCKET_MSG.info("ip:{},接收到消息:{}", ip, message.getPayload());
|
|
|
if (payload.isEmpty()) {
|
|
|
- LogUtils.WEBSOCKET_MSG.error("消息内容为空,token:{}", token);
|
|
|
+ LogUtils.WEBSOCKET_MSG.error("消息内容为空,ip:{}", ip);
|
|
|
return;
|
|
|
}
|
|
|
try {
|
|
|
@@ -137,12 +146,12 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
|
|
|
WebsocketPayloadResolve payloadResolve = new WebsocketPayloadResolve(websocketResult);
|
|
|
String topic = payloadResolve.getTopic();
|
|
|
if (ObjectUtil.isEmpty(obj)) {
|
|
|
- LogUtils.WEBSOCKET_MSG.error("消息内容为空,topic:{}", topic);
|
|
|
+ LogUtils.WEBSOCKET_MSG.error("消息内容为空,ip:{}", ip);
|
|
|
return;
|
|
|
}
|
|
|
TopicTypeEnums typeEnums = TopicTypeEnums.matcherTopicTypeEnums(topic);
|
|
|
if (typeEnums == null) {
|
|
|
- LogUtils.WEBSOCKET_MSG.error("消息topic错误,topic:{}", topic);
|
|
|
+ LogUtils.WEBSOCKET_MSG.error("消息topic错误,ip:{},topic:{}", ip, topic);
|
|
|
return;
|
|
|
}
|
|
|
//上报消息内容
|
|
|
@@ -171,9 +180,9 @@ public class SocWebSocketHandler extends AbstractWebSocketHandler {
|
|
|
break;
|
|
|
}
|
|
|
WebSocketUtils.sendMessage(session, result);
|
|
|
- LogUtils.WEBSOCKET_MSG.info("中心平台返回消息,token:{},内容:{}", token, JacksonUtils.toJSONString(result));
|
|
|
+ //LogUtils.WEBSOCKET_MSG.info("中心平台返回 {} 消息,,内容:{}", ip, JacksonUtils.toJSONString(result));
|
|
|
} catch (Exception e) {
|
|
|
- LogUtils.WEBSOCKET_MSG.error("消息处理失败:{}", e);
|
|
|
+ LogUtils.WEBSOCKET_MSG.error("消息处理失败,ip:{},异常内容:{}", ip, e);
|
|
|
}
|
|
|
}
|
|
|
|