Russian Qt Forum
Ноябрь 22, 2024, 07:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Правильная архитектура сервера/клиента  (Прочитано 10945 раз)
olimpset
Гость
« : Ноябрь 13, 2018, 02:37 »

Написал сервер. Теперь нужно создать новый проект "клиент", и я не знаю использовать ли для клиентского приложения QT или прибегнуть к boost::asio?
В идеале должна быть такая архитектура, как и в большинства профессиональных серверов:
Сервер на QT и множество независимых клиентов (клиент на c#, клиент на c++ и так далее). И не знаю теперь, писать ли клиентов с использованием QT. Хочу сделать изначально с жизнеспособной артитектурой, что бы потом можно было также интегрировать скриптовый язык (lua, к примеру).
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Ноябрь 13, 2018, 07:43 »

Написал сервер. Теперь нужно создать новый проект "клиент", и я не знаю использовать ли для клиентского приложения QT или прибегнуть к boost::asio?
Qt и asio это инструменты, использовать можно любой. Я бы наоборот сервер писал на asio, а клиенты в зависимости от их назначения или на asio или на Qt.

В идеале должна быть такая архитектура, как и в большинства профессиональных серверов:
Сервер на QT и множество независимых клиентов (клиент на c#, клиент на c++ и так далее). И не знаю теперь, писать ли клиентов с использованием QT. Хочу сделать изначально с жизнеспособной артитектурой, что бы потом можно было также интегрировать скриптовый язык (lua, к примеру).
Опять же инструмент никак не связан с архитектурой приложений. Интегрировать lua можно в любой проект, хоть с Qt, хоть без, главное продумать качественный API для ядра, чтобы из скриптов удобно было с ним работать.
Записан
RedDog
Частый гость
***
Offline Offline

Сообщений: 221


Просмотр профиля
« Ответ #2 : Ноябрь 13, 2018, 11:38 »

Какие требования к серверу, сетевому протоколу?
Qt-шный тсп  сервер у меня в проекте может обрабатывать около 30-50к сообщений в секунду, при 50-100 подключениях. Сообщение около 3-5кб.
БОльшей производительности я не знаю как от него добиться, но для моих задач текущей за глаза, и посадка идёт не в сети (пока).
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #3 : Ноябрь 13, 2018, 12:21 »

Я бы Qt использовал только в GUI части, а сервер и ядро клиентов старался бы писать средствами стандартной библиотеки C++ и тех библиотек, которые планируется туда добавить в новых стандартах С++. Например, Networking TS базируется на части Boost.Asio.
Записан

Пока сам не сделаешь...
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #4 : Ноябрь 13, 2018, 18:34 »

Какие требования к серверу, сетевому протоколу?
Qt-шный тсп  сервер у меня в проекте может обрабатывать около 30-50к сообщений в секунду, при 50-100 подключениях. Сообщение около 3-5кб.
БОльшей производительности я не знаю как от него добиться, но для моих задач текущей за глаза, и посадка идёт не в сети (пока).
В локальной сети сервер работает?
Записан
RedDog
Частый гость
***
Offline Offline

Сообщений: 221


Просмотр профиля
« Ответ #5 : Ноябрь 13, 2018, 22:25 »

В локальной сети сервер работает?
Да. Гигабитной, если это важно.
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #6 : Ноябрь 13, 2018, 23:40 »

Да. Гигабитной, если это важно.
Вы пишите что в сеть не упираетесь, хотя судя по вашим цифрам как раз упираетесь в гигабит (это при минимальных значениях, которые вы указали - 30К сообщений по 3К каждое). 
Записан
RedDog
Частый гость
***
Offline Offline

Сообщений: 221


Просмотр профиля
« Ответ #7 : Ноябрь 14, 2018, 07:37 »

Вы пишите что в сеть не упираетесь, хотя судя по вашим цифрам как раз упираетесь в гигабит (это при минимальных значениях, которые вы указали - 30К сообщений по 3К каждое). 
Я имел ввиду, что быстродействие сервера не является узким местом в моем случае.
В тестах производительности еще и локалхост участвовал несколькими подключениями.
А цифры привел для понимания производительности Qt механизмов.
Записан
vbv
Чайник
*
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #8 : Ноябрь 14, 2018, 13:38 »

Поглядываю на этот тред и удивляюсь, сколько "экспертов" обсуждают "сферический клиент-сервер в вакууме".
О задаче ничего не известно, но обсуждений ......
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.054 секунд. Запросов: 22.