Правильно ли выделять целый порт под определенную задачу на сервере? Надеюсь я корректно расписал свой вопрос Вечерочка, Хабр! При написании сервера задался таким вопросом: если мне необходимо реализовать авторизацию пользователя, отправку данных при запросе(в моем случае новостных блоков), а так же прием и отправку сообщений по чатам, то под каждую задачу мне необходимо выделить отдельный порт, чтобы принимать, обрабатывать и отвечать на определенные запросы? Если же нет и обойтись можно лишь одним портом, тогда вопрос следующий: как мне фильтровать полученные данные и по каким критериям, чтобы, например, при авторизации люди получали подтверждение входа, а не новостной блок. Заранее спасибо! P.S работаю я преимущественно с TCP, а приложения клиентов будут располагаться на desktop (если это как-то уточнит мой вопрос)
Для подобного сценария не обязательно выделять отдельные порты под каждую задачу. Вместо этого, можно использовать один порт для общения с клиентами и реализовать на сервере механизм маршрутизации запросов в зависимости от их типа.
Для фильтрации и маршрутизации запросов вы можете добавить в протокол своего сервера поле, которое будет указывать на тип запроса (авторизация, получение новостей, чат и т.д.). По этому полю сервер сможет определить, какую логику обработки запросов применять.
Таким образом, при авторизации сервер сможет вернуть подтверждение входа, а при запросе новостей - отправить соответствующий блок новостей. Кроме того, такой механизм позволит вам легко добавлять новые типы запросов в будущем, не меняя архитектуру сервера.
Так как вы работаете с TCP и ваши клиентские приложения будут находиться на desktop, вы можете рассмотреть возможность использования сетевых библиотек, таких как Socket.io, для более удобного обмена сообщениями между клиентом и сервером.
Надеюсь, это поможет вам в реализации вашего сервера. Удачи!
Для подобного сценария не обязательно выделять отдельные порты под каждую задачу. Вместо этого, можно использовать один порт для общения с клиентами и реализовать на сервере механизм маршрутизации запросов в зависимости от их типа.
Для фильтрации и маршрутизации запросов вы можете добавить в протокол своего сервера поле, которое будет указывать на тип запроса (авторизация, получение новостей, чат и т.д.). По этому полю сервер сможет определить, какую логику обработки запросов применять.
Таким образом, при авторизации сервер сможет вернуть подтверждение входа, а при запросе новостей - отправить соответствующий блок новостей. Кроме того, такой механизм позволит вам легко добавлять новые типы запросов в будущем, не меняя архитектуру сервера.
Так как вы работаете с TCP и ваши клиентские приложения будут находиться на desktop, вы можете рассмотреть возможность использования сетевых библиотек, таких как Socket.io, для более удобного обмена сообщениями между клиентом и сервером.
Надеюсь, это поможет вам в реализации вашего сервера. Удачи!