|
|
|
@ -205,6 +205,7 @@ public class MessageHandler { |
|
|
|
} |
|
|
|
|
|
|
|
public static void handleMessage(InMessage inMessage) throws Exception{ |
|
|
|
logger.info("消息系统处理消息:{}", inMessage); |
|
|
|
//1. 处理发送给Server的消息
|
|
|
|
if(inMessage.getToDomain() == MessageConstant.DomainType.Server){ |
|
|
|
String type = null; |
|
|
|
@ -217,14 +218,16 @@ public class MessageHandler { |
|
|
|
handlerServerMessage(type,inMessage); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
logger.info("非Server消息"); |
|
|
|
//2. 处理发送给Client的消息
|
|
|
|
//校验错误
|
|
|
|
if (CollectionUtil.isEmpty(inMessage.getTos())) { |
|
|
|
logger.info("没有接受对象"); |
|
|
|
ClientManager.sendServerAck(inMessage, MessageConstant.Error.MessageNoReceiversError); |
|
|
|
return; |
|
|
|
} |
|
|
|
if(!ClientManager.isSenderAuthed(inMessage)){ |
|
|
|
logger.info("发送授权失败"); |
|
|
|
ClientManager.sendServerAck(inMessage,MessageConstant.Error.UnAuthed); |
|
|
|
ClientManager.closeCurrentSender(inMessage); |
|
|
|
return; |
|
|
|
@ -232,15 +235,15 @@ public class MessageHandler { |
|
|
|
|
|
|
|
//存储消息(原始消息+按照tos拆分之后的每条消息)
|
|
|
|
saveMessage(inMessage); |
|
|
|
|
|
|
|
logger.info("存储消息"); |
|
|
|
//3.发送ack
|
|
|
|
ClientManager.sendServerAck(inMessage, MessageConstant.Error.Ok); |
|
|
|
|
|
|
|
logger.info("发送ACK"); |
|
|
|
//4.将用户添加到Redis待处理用户集合中
|
|
|
|
RedisUtil.sSet(RedisKeyManager.getPendingClientSetKey(), |
|
|
|
CcMessageUtil.getNameManglingToList(inMessage).toArray() |
|
|
|
); |
|
|
|
|
|
|
|
logger.info("存储redis"); |
|
|
|
} |
|
|
|
|
|
|
|
private static void saveMessage(InMessage inMessage) throws Exception{ |
|
|
|
|