Какую библиотеку выбрать для написания tcp сервера? Передо мной стоит задача по сбору и обработке данных. Часть алгоритмов реализована на c++, часть на python. На данный момент используется клиент-серверная архитектура приложения, реализованная костылем, довольно громоздкая, через сокеты. Стоит задача заменить костыль на масштабируемое решение, кроссплатформенное (как минимум windows-linux, как максимум - ещё и мобильные платформы). Я нагуглил, что как будто бы для решения подобной задачи мне подойдёт библиотека POCO, написанная на c++. Обработка данных идёт в режиме реального времени, поэтому скорость - немаловажная составляющая. Как Вы полагаете, подойдёт ли эта библиотека под мою задачу? Можете ли посоветовать альтернативы? Нужны ли ещё какие-то вводные данные чтобы ответить на данный вопрос?

5 Сен 2023 в 19:52
148 +1
0
Ответы
1

POCO (Portable Components) – это отличная и широко используемая C++ библиотека, которая предоставляет возможности для создания кроссплатформенных приложений. Она действительно предоставляет возможности для работы с сетевыми протоколами, в том числе с TCP.

Преимущества использования POCO для вашей задачи:

Кроссплатформенность: POCO поддерживает множество операционных систем, включая Windows, Linux и macOS. Хотя она не предназначена для мобильных платформ напрямую, вы можете рассмотреть использование других средств для интеграции с мобильными устройствами.

Производительность: POCO написана на C++, что обеспечивает высокую производительность.

Масштабируемость: POCO обеспечивает многопоточность, что может быть полезно для обработки запросов в режиме реального времени.

Богатый функционал: помимо сетевых возможностей, POCO предлагает множество других компонентов, которые могут быть полезными при создании вашего приложения.

Тем не менее, стоит также рассмотреть альтернативы:

Boost.Asio: Это часть библиотеки Boost и предоставляет асинхронные возможности ввода/вывода, в том числе для работы с TCP. Это мощный инструмент с высокой производительностью.

Qt: Qt предоставляет классы для работы с сетевыми протоколами, а также поддерживает множество платформ, включая мобильные устройства.

ZeroMQ: Это высокоуровневая библиотека, которая предоставляет широкий спектр средств для работы с сообщениями и может быть использована для создания масштабируемых многопоточных приложений.

Для более точного ответа на ваш вопрос действительно могут потребоваться дополнительные вводные: объем предполагаемого трафика, требования к безопасности, специфические требования к интеграции с другими системами или технологиями и т. д. Но на основе предоставленной вами информации я бы сказал, что POCO может быть хорошим выбором для вашей задачи.

6 Сен 2023 в 14:44
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 86 726 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир