Я пытаюсь реализовать программу чата Java. В этой программе несколько клиентов будут общаться друг с другом через сервер. Сервер будет передавать сообщения от одного клиента другому. Он также будет предоставлять обновления в список друзей. Концептуально, что будет лучшим путем для реализации этого чата. Часть, с которой я сталкиваюсь, - это передача сервером сообщений от одного клиента другому. Каждый клиент должен также иметь возможность выбирать, с кем он хочет общаться. Снова единственная цель сервера - принимать сообщения от одного клиента и отправлять его другому клиенту. Если один клиент подключен к серверу, ничего не происходит, пока другой клиент не подключится. Затем оба клиента начинают общаться друг с другом.