/
itokar98
/
java-diplom-networkchat
Обзор
Документация
Войти
/
itokar98
/
java-diplom-networkchat
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/organization/service/MessageBroadcastService.java
40 строк
1 KB
Ilya Tokar
First commit
21 дек 2025, 15:29
21 дек 2025, 15:29
3f8814c
Код
Авторство
О чём код?
package com.organization.service; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class MessageBroadcastService { private static final Logger logger = LogManager.getLogger(MessageBroadcastService.class); private final List<PrintWriter> clients = Collections.synchronizedList(new ArrayList<>()); public void addClient(PrintWriter writer) { clients.add(writer); } public void removeClient(PrintWriter writer) { clients.remove(writer); } public void broadcastMessage(String message, PrintWriter sender) { synchronized (clients) { int count = 0; for (PrintWriter writer : clients) { if (writer != sender) { writer.println(message); count++; } } if (logger.isDebugEnabled()) { logger.debug("Message broadcasted to {} clients: {}", count, message); } } } public int getClientCount() { return clients.size(); } }