|
@@ -18,6 +18,7 @@ import org.springframework.data.redis.connection.MessageListener;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import javax.websocket.Session;
|
|
|
import java.io.IOException;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashSet;
|
|
@@ -136,8 +137,11 @@ public class RedisChatMessageListener implements MessageListener {
|
|
|
for (ChatWebSocket chat : ChatWebSocket.clients.values()) {
|
|
|
// 支持点对点,群聊模式
|
|
|
if (receiver.contains(chat.getUserId())) {
|
|
|
- chat.getSession().getAsyncRemote().sendText(message);
|
|
|
- log.info("websocket消息发送成功,接收人:{} 消息内容:{}", chat.getUserId(), JsonUtil.toJsonString(message));
|
|
|
+ Session session = chat.getSession();
|
|
|
+ if (session != null && session.isOpen()) {
|
|
|
+ session.getAsyncRemote().sendText(message);
|
|
|
+ log.info("websocket消息发送成功,接收人:{} 消息内容:{}", chat.getUserId(), JsonUtil.toJsonString(message));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|