Есть задание: Многопоточный клиент-сервер
.
На сервере запущено два потока, один читает, другой отправляет сообщения.
Читающий поток сохраняет сообщения в блокирующую очередь.
Никак не получается понять как можно сохранить обьект сообщения в эту очередь?
public class Server implements Serializable {
public static final int PORT = 8099;
public static void main(String[] args) throws IOException {
ArrayBlockingQueue<Message> messagesPool;
ExecutorService cachedPool = Executors.newCachedThreadPool();
Set<Socket> clients = null;
ServerSocket serverSocket = new ServerSocket(PORT);
System.out.println("Сервер запущен");
ObjectInputStream objectInputStream;
ObjectOutputStream objectOutputStream;
while (!serverSocket.isClosed()) {
Socket clientSocket = serverSocket.accept();
System.out.print((clientSocket.isConnected() ? "Соединение установлено " : " Не удалось соедениться"));
assert false;
boolean added = clients.add(clientSocket);
if (added) System.out.println(clientSocket + " Добавлен !");
if (clientSocket.isClosed()) {
System.out.println(clientSocket + " отключился!");
clients.remove(clientSocket);
}
}
}
}
class ServerReader implements Runnable, Serializable {
ServerSocket serverSocket;
ArrayBlockingQueue<Message> messagesPool;
ObjectInputStream objectInputStream;
public ServerReader(ServerSocket serverSocket, ArrayBlockingQueue<Message> messagesPool, ObjectInputStream objectInputStream) {
this.serverSocket = serverSocket;
this.messagesPool = messagesPool;
this.objectInputStream = objectInputStream;
}
@Override
public void run() {
messagesPool = new ArrayBlockingQueue<>(100);
while(!serverSocket.isClosed()){
// непонятно.
}
}
}
Извиняюсь, если затронул большие умы таким вопросом, только учусь.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
когда достиг финальной части своего задания столкнулся с такой проблемой, что не могу собрать проект в полноценный jar файл, выдаёт ошибку...
У меня есть класс Company и 3 дочерних класса, которые наследуют методы из родительского класса, как получить 1 ArrayList со всеми значениями зарплат...
Существует ли в Spring Аннотация, которая позволяет при занесении строки в таблицу удалить её через время? например, суткиИ если таковой нет,...