Meridian312
@Meridian312

Как организовать работу мультпоточного сервера на Java?

Я только начинаю изучать multitasking и parallel programming в Java. Передо мной стоит задача, создать простой сервер для передачи сообщений файлов между клиентами соотвественно.

Я хочу узнать, как мне лучше организовать обработку сокетов и данных на сервере?

Мне бы хотелось создать какой нибудь список клиентов-сокетов или их обработчиков (потоков), если это вообще возможно и потом в соотвествии переправлять данные на определённые сокеты. Или мне лучше иметь ссылки на все подключения к серверу при том, что каждое мёртвое подключение само удаляется из списка?

Главная проблема в том, что сейчас мне приходиться описывать сценарии по переданным объектам через сокет
т.е как in.readObject() instanceof User то определённый сценарий ответа. А хотелось как нибудь ассоциировать каждый новый отправщик-файла с определённым пользователем на сервере.

Извиняюсь за не внятность, так как я просто не знаю, как сформулировать прямой вопрос.
Спасибо
  • Вопрос задан
  • 2412 просмотров
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Вам нужны сессии пользователя, как они будут реализованы в Вашем конкретном приложении не знаю. Но можно через передачу клиенту некоего генерированного ключа типа uuid, либо по открытому сокету (связка ip/port например) , все дело в том, как клиент взаимодействует с сервером. Далее, чтобы не заморачиваться с сокетами и потоками, лучше использовать уже готовый фреймворк типа netty.io
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы