Russian Qt Forum

Qt => Работа с сетью => Тема начата: niXman от Декабрь 07, 2009, 11:08



Название: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: niXman от Декабрь 07, 2009, 11:08
Всем хай и успешной трудовой недели!

Я тут вот о чем подумал: А можно ли на Qt написать реальный многопользовательский сервер?
Т.е. то что его можно написать - понятно, но на сколько он будет более ресурсоемкий в сравнении с сервером написанным на Си, и использующим epoll() и pthreads ?
Qt предоставляет все необходимое для этого: сокеты, мьютексы, уайт-кондиции, семафоры, в общем все что нужно. То, что времязатраты на написание такого сервера на Qt уменьшаться, сомневаюсь. А как же производительность? Интересует приблизительная оченка. Так сказать - интуитивная :) Нагрузка - 6000-8000 онлайн, прием-передача...пускай десятибайтовые пакеты.


Название: Re: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: pastor от Декабрь 07, 2009, 14:20
 Высоконагруженный сервер на Qt, реально ли? (http://www.prog.org.ru/topic_7889_0.html)


Название: Re: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: drsm от Декабрь 07, 2009, 17:33
нету смысла, возми libevent


Название: Re: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: niXman от Декабрь 07, 2009, 17:55
нету смысла, возми libevent
Так я не собираюсь писать сервер на Qt. Просто любопытно. Я по старинке, нижний уровень на sockets, epoll. И pthread для синхронизации/диспечеризации/обработки в рабочих потоках.

А libevent, не стал бы использовать. Удобство не на много лучше, а прозрачность теряется :(


Название: Re: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: drsm от Декабрь 08, 2009, 14:13
прозрачность чего теряется о_О?
посмотри: http://seul.org/~nickm/libevent-book/Ref6_bufferevent.html
тут и epool и kqueue и select под виндой.
+ отличная надстройка для работы с буферами.
я вот сейчас сервак пищу на винде, а в продакшен он пойдет на линухе (или фрибсд).


Название: Re: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: niXman от Декабрь 08, 2009, 15:34
Цитировать
прозрачность чего теряется о_О?
POSIX API.

Цитировать
посмотри: http://seul.org/~nickm/libevent-book/Ref6_bufferevent.html
Посмотрел. Я знаком с этой либой ;)

Цитировать
тут и epool и kqueue и select под виндой.
Что-то я не догоняю...какое отношение венда имеет к серверам?

Цитировать
я вот сейчас сервак пищу на винде, а в продакшен он пойдет на линухе (или фрибсд).
А смысл в венде писать? имхо, изврат.

Да и вообще, интересует, создавал ли кто-то сервер на Qt.


Название: Re: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: BRE от Декабрь 08, 2009, 15:36
Да и вообще, интересует, создавал ли кто-то сервер на Qt.
Думаю что нет.
Тот кто сможет - воспользуется более подходящими инструментами, а кто не сможет - тот не сможет....  :)


Название: Re: Любопытно, на Qt можно написать реальный многопользовательский сервер?
Отправлено: niXman от Декабрь 08, 2009, 15:46
Цитировать
Думаю что нет.
И я так думаю...но мало ли...

Цитировать
Тот кто сможет - воспользуется более подходящими инструментами
Кстати про "подходящие инструменты" - однажды писал сервер для 5000 реалтайм, на boost::asio(по рекомендации..не скажу кого ;)). Так вот, он тормозливый получился не на шутку! Еще писал систему принятия решений на основе нейронной сети. Так для взаимодействия между нейронами, решил использовать boost::signals(signals2 тогда еще не было(хотя эти тормозят еще больше ;D но потокобезопасны!)). В итоге, всю сеть пришлось переписывать на кэлбэки. Старо, но как шустро работала! Сечас кутешные сигналы опробовал, доволен как слон. Но для динамической конфигурации сети тоже тяжеловаты :(

Это я к тому, что не все "новое/технологичное/высокоуровневое" хорошо работает ;) boost уважаю за то, что позволяет реально сократить код. Но некоторые его части не использую принципиально.