|
@@ -8,6 +8,7 @@ import org.springframework.web.socket.WebSocketSession;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
@Slf4j
|
|
|
@Component
|
|
@@ -63,26 +64,33 @@ public class ItsWebSocketSessionManager {
|
|
|
log.info("Sessions: {}", this.sessionMap.toString());
|
|
|
}
|
|
|
|
|
|
- public void sendBroadcastMessage(String command, TextMessage message) {
|
|
|
+ public int sendBroadcastMessage(String command, TextMessage message) {
|
|
|
this.sessionMap.forEach((key, session) -> {
|
|
|
session.sendMessage(command, message);
|
|
|
});
|
|
|
+ return this.sessionMap.size();
|
|
|
}
|
|
|
|
|
|
- public void sendBroadcastSigPhaseMessage(String command, TextMessage message) {
|
|
|
+ public int sendBroadcastSigPhaseMessage(String command, TextMessage message) {
|
|
|
+ AtomicInteger broadcastCount = new AtomicInteger(0);
|
|
|
this.sessionMap.forEach((key, session) -> {
|
|
|
if ("wall".equals(session.getGroupId())) {
|
|
|
session.sendMessage(command, message);
|
|
|
+ broadcastCount.getAndIncrement();
|
|
|
}
|
|
|
});
|
|
|
+ return broadcastCount.get();
|
|
|
}
|
|
|
|
|
|
- public void sendBroadcastUserMessage(String command, TextMessage message) {
|
|
|
+ public int sendBroadcastUserMessage(String command, TextMessage message) {
|
|
|
+ AtomicInteger broadcastCount = new AtomicInteger(0);
|
|
|
this.sessionMap.forEach((key, session) -> {
|
|
|
if (!"wall".equals(session.getGroupId())) {
|
|
|
session.sendMessage(command, message);
|
|
|
+ broadcastCount.getAndIncrement();
|
|
|
}
|
|
|
});
|
|
|
+ return broadcastCount.get();
|
|
|
}
|
|
|
|
|
|
}
|