crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Производительность Tcp-сервера, реализованного с помощью Qt, Экспертный опрос
Nokin
  опции профиля:
сообщение 12.8.2008, 16:28
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 12.8.2008
Пользователь №: 262

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток!

Присматриваюсь к Qt уже неделю. До этого дела не имел, однако концепция представляется очень привлекательной.

1.
Хочется узнать мнения людей, хорошо знакомых с данным тулкитом вот по какому вопросу. Необходимо реализовать Tcp-сервер, работающий по некоторому протоколу, способный обслуживать одновременно 1000 клиентов легко. Под обслуживанием понимается:
-) Авторизация
-) Прием и получение сообщений (не более 10 в минуту в среднем по 500 байт)
Хватит ли произодительности имеющихся классов?

Выбор Qt продиктован необходимостью работы под Windows и Linux.

2.
Подскажите, имеется ли в Qt поддержка перекрытого ввода/вывода, портов завершения или других методов асинхронного ввода/вывода

3.
Если Вы считаете, что Qt пригодна для реализации поставленной задачи, обозначте, пож-та, в общих чертах решение.

Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 12.8.2008, 19:55
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


Работал с протоколами. Использовал Qt.
Правда не в 1000 потоков. Ну, думаю это не проблема.
Хотя присмотрись ка лучше к boost::asio, там эта часть развита по более. И на столько же тормозлива )))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.8.2008, 21:55
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Nokin, еще это глянь Poco Libraries
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Nokin
  опции профиля:
сообщение 13.8.2008, 9:14
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 12.8.2008
Пользователь №: 262

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(niXman @ 12.8.2008, 20:55) *
Хотя присмотрись ка лучше к boost::asio, там эта часть развита по более...

Цитата(Litkevich Yuriy @ 12.8.2008, 22:55) *
Nokin, еще это глянь Poco Libraries


То или другое можно к Qt прикрутить?

Дело ещё и в том, что сервер должен исполняться демоном под Linux и сервисом под Виндой, ну и ещё работать с Oracle, но это, думаю, не проблема.

Сообщение отредактировал Nokin - 13.8.2008, 9:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.8.2008, 9:33
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ну boost - С+++ :)
а Poco Libraries написан на чистом C++, теперь вопрос можно ли прикрутить С++ к С++.
помоему, ответ очевиден
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sploid
  опции профиля:
сообщение 13.8.2008, 9:39
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 26.2.2008
Из: Москва
Пользователь №: 106

Спасибо сказали: 10 раз(а)




Репутация:   1  


Nokin, у тебя вполне возможно все упрется в базу, а не в работу по приему и передачи данных.

В Qt все сокеты асинхронные, что вполне может вызвать осложнения при работе с ними. Для Qt есть фича по созданию демонов и сервисов ( правда она платная и не входит в опен-соурс редакцию ).

Т.к. клиентов порядка 1000, то каждого клиента засовывать в отдельный поток может быть накладно. Некоторые специалисты считают что именно для таких задач подойдет событийная ( т.е. Qt-шная ) технология работы с сокетом.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Nokin
  опции профиля:
сообщение 13.8.2008, 10:04
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 12.8.2008
Пользователь №: 262

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 13.8.2008, 10:33) *
ну boost - С+++ :)
а Poco Libraries написан на чистом C++, теперь вопрос можно ли прикрутить С++ к С++.
помоему, ответ очевиден


Я понимаю, что к C++ прикрутить С++ можно =). Однако мой малый опыт работы с Qt не позволяет не сомневаться, будет ли это одинаково работать на разных платформах. По-видимому, будет. Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sploid
  опции профиля:
сообщение 13.8.2008, 10:09
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 26.2.2008
Из: Москва
Пользователь №: 106

Спасибо сказали: 10 раз(а)




Репутация:   1  


при прикручивании каких-либо библиотек к Qt необходимо аккуратно обращаться с Qt-шными объектами из разных потоков, т.к. они этого не любят. Например работать с сокетом из разных потоков нежелательно или вообще нельзя, точно не помню.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Nokin
  опции профиля:
сообщение 13.8.2008, 10:10
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 12.8.2008
Пользователь №: 262

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(sploid @ 13.8.2008, 10:39) *
Nokin, у тебя вполне возможно все упрется в базу, а не в работу по приему и передачи данных.


Sploid, поясни пож-та. Упрётся: это в плане совместимости (драйвера к БД) или в плане производительности?


Цитата(sploid @ 13.8.2008, 10:39) *
Для Qt есть фича по созданию демонов и сервисов ( правда она платная и не входит в опен-соурс редакцию ).


Знаю, не смущает.


Цитата(sploid @ 13.8.2008, 10:39) *
Т.к. клиентов порядка 1000, то каждого клиента засовывать в отдельный поток может быть накладно. Некоторые специалисты считают что именно для таких задач подойдет событийная ( т.е. Qt-шная ) технология работы с сокетом.


Я тоже считаю, что 1000 потоков в приложении - это перебор. Событийная технология - это слот-сигнальная?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sploid
  опции профиля:
сообщение 13.8.2008, 10:32
Сообщение #10


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 26.2.2008
Из: Москва
Пользователь №: 106

Спасибо сказали: 10 раз(а)




Репутация:   1  


упрется в плане производительности.

да, слот-сигнальная.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 12:34