QThread, QEvent, QTcpServer, взаимодействия между потоками |
Здравствуйте, гость ( Вход | Регистрация )
QThread, QEvent, QTcpServer, взаимодействия между потоками |
512es |
10.11.2008, 16:00
Сообщение
#1
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
всем привет!
пишу многопоточный высокопроизводительный сервер на qt. сервер прослушивает коннекты на определённый порт и на каждое входящее соединение создаёт отдельный поток. при каждом пришедшем пакете поток отсылает главному потоку сообщение через customEvent. вроде работает, только не знаю как правильнее заставить все дочерние потоки (или один выборочно) отослать определённый пакет клиентам? закинул все потоки массив QVector и передаю в customEvent главного потока ид того кто отправил. правильный путь ли я выбрал? |
|
|
Litkevich Yuriy |
11.11.2008, 15:05
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Мысль в слух:
Нельзя ли сделать один поток для авторизации, и группу потоков для авторизованых пользователей, т.е. когда несколько соединений, например 10, крутятся в одном потоке, если авторизованый пользователь начнет гадить, то навредит только десятерым, а остальные нормально работают. Вобще в юниксах обычно делают одно соединение - один процесс, админы говорят, что так удобнее следить, и когда явно надо кого-то сбросить, то вот его Id, вот его и будем Килл. (в Unix-системах нет разделения понятий поток/процесс, там всё - потоки. Процессом обычно называют главный поток программы.) |
|
|
Текстовая версия | Сейчас: 26.12.2024, 13:01 |