Russian Qt Forum
Ноябрь 22, 2024, 07:54
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Работа с сетью
>
Правильная архитектура сервера/клиента
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Правильная архитектура сервера/клиента (Прочитано 10946 раз)
olimpset
Гость
Правильная архитектура сервера/клиента
«
:
Ноябрь 13, 2018, 02:37 »
Написал сервер. Теперь нужно создать новый проект "клиент", и я не знаю использовать ли для клиентского приложения QT или прибегнуть к boost::asio?
В идеале должна быть такая архитектура, как и в большинства профессиональных серверов:
Сервер на QT и множество независимых клиентов (клиент на c#, клиент на c++ и так далее). И не знаю теперь, писать ли клиентов с использованием QT. Хочу сделать изначально с жизнеспособной артитектурой, что бы потом можно было также интегрировать скриптовый язык (lua, к примеру).
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Правильная архитектура сервера/клиента
«
Ответ #1 :
Ноябрь 13, 2018, 07:43 »
Цитата: olimpset от Ноябрь 13, 2018, 02:37
Написал сервер. Теперь нужно создать новый проект "клиент", и я не знаю использовать ли для клиентского приложения QT или прибегнуть к boost::asio?
Qt и asio это инструменты, использовать можно любой. Я бы наоборот сервер писал на asio, а клиенты в зависимости от их назначения или на asio или на Qt.
Цитата: olimpset от Ноябрь 13, 2018, 02:37
В идеале должна быть такая архитектура, как и в большинства профессиональных серверов:
Сервер на QT и множество независимых клиентов (клиент на c#, клиент на c++ и так далее). И не знаю теперь, писать ли клиентов с использованием QT. Хочу сделать изначально с жизнеспособной артитектурой, что бы потом можно было также интегрировать скриптовый язык (lua, к примеру).
Опять же инструмент никак не связан с архитектурой приложений. Интегрировать lua можно в любой проект, хоть с Qt, хоть без, главное продумать качественный API для ядра, чтобы из скриптов удобно было с ним работать.
Записан
RedDog
Частый гость
Offline
Сообщений: 221
Re: Правильная архитектура сервера/клиента
«
Ответ #2 :
Ноябрь 13, 2018, 11:38 »
Какие требования к серверу, сетевому протоколу?
Qt-шный тсп сервер у меня в проекте может обрабатывать около 30-50к сообщений в секунду, при 50-100 подключениях. Сообщение около 3-5кб.
БОльшей производительности я не знаю как от него добиться, но для моих задач текущей за глаза, и посадка идёт не в сети (пока).
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: Правильная архитектура сервера/клиента
«
Ответ #3 :
Ноябрь 13, 2018, 12:21 »
Я бы Qt использовал только в GUI части, а сервер и ядро клиентов старался бы писать средствами стандартной библиотеки C++ и тех библиотек, которые планируется туда добавить в новых стандартах С++. Например, Networking TS базируется на части Boost.Asio.
Записан
Пока сам не сделаешь...
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Правильная архитектура сервера/клиента
«
Ответ #4 :
Ноябрь 13, 2018, 18:34 »
Цитата: RedDog от Ноябрь 13, 2018, 11:38
Какие требования к серверу, сетевому протоколу?
Qt-шный тсп сервер у меня в проекте может обрабатывать около 30-50к сообщений в секунду, при 50-100 подключениях. Сообщение около 3-5кб.
БОльшей производительности я не знаю как от него добиться, но для моих задач текущей за глаза, и посадка идёт не в сети (пока).
В локальной сети сервер работает?
Записан
RedDog
Частый гость
Offline
Сообщений: 221
Re: Правильная архитектура сервера/клиента
«
Ответ #5 :
Ноябрь 13, 2018, 22:25 »
Цитата: Old от Ноябрь 13, 2018, 18:34
В локальной сети сервер работает?
Да. Гигабитной, если это важно.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Правильная архитектура сервера/клиента
«
Ответ #6 :
Ноябрь 13, 2018, 23:40 »
Цитата: RedDog от Ноябрь 13, 2018, 22:25
Да. Гигабитной, если это важно.
Вы пишите что в сеть не упираетесь, хотя судя по вашим цифрам как раз упираетесь в гигабит (это при минимальных значениях, которые вы указали - 30К сообщений по 3К каждое).
Записан
RedDog
Частый гость
Offline
Сообщений: 221
Re: Правильная архитектура сервера/клиента
«
Ответ #7 :
Ноябрь 14, 2018, 07:37 »
Цитата: Old от Ноябрь 13, 2018, 23:40
Вы пишите что в сеть не упираетесь, хотя судя по вашим цифрам как раз упираетесь в гигабит (это при минимальных значениях, которые вы указали - 30К сообщений по 3К каждое).
Я имел ввиду, что быстродействие сервера не является узким местом в моем случае.
В тестах производительности еще и локалхост участвовал несколькими подключениями.
А цифры привел для понимания производительности Qt механизмов.
Записан
vbv
Чайник
Offline
Сообщений: 59
Re: Правильная архитектура сервера/клиента
«
Ответ #8 :
Ноябрь 14, 2018, 13:38 »
Поглядываю на этот тред и удивляюсь, сколько "экспертов" обсуждают "сферический клиент-сервер в вакууме".
О задаче ничего не известно, но обсуждений ......
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...