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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: клиент-серверное приложение на базе TCP-сокетов  (Прочитано 6374 раз)
serega-5508
Гость
« : Май 06, 2011, 13:42 »

у меня есть приложение клиент и сервер. У меня вопрос: как мне  обеспечивать одновременную (параллельную) работу со многими клиентами? что мне для этого надо сделать? Спасибо большое!
Записан
SimpleSunny
Гость
« Ответ #1 : Май 06, 2011, 14:16 »

А сколько клиентов предполагается? И что значит "дновременную (параллельную) работу со многими клиентами"?
Записан
andrew.k
Гость
« Ответ #2 : Май 06, 2011, 17:12 »

смотри QTcpServer и кутишные примеры.
Описание QTcpServer
Там же есть примеры.
Fortune Server Example
и многопоточная версия
Threaded Fortune Server Example
Записан
merke
Гость
« Ответ #3 : Май 06, 2011, 17:17 »

Ну смотри... смотря какие объемы данных будут передаваться в обе стороны. Если обмен простыми командами и клиентов не очень много, то архитектура сервера простейшая ни каких потоков, просто на каждое новое соединение создаешь сокет и далее обрабатываешь данные, хотя обработку можешь вынести в отдельный поток. Если же объемы передаваемых данных большие и количество клиентов огого как большое, то тут уже надо будет придумывать сложную структуру сервера. И не надо ударяться сразу в такую мысль: на каждое соединение отдельный поток, это утопия. Лучше например разбить по нагрузке, к примеру на поток 10 соединений.
Расскажи для каких целей. Больше информации надо
Записан
andrew.k
Гость
« Ответ #4 : Май 06, 2011, 17:22 »

Ну смотри... смотря какие объемы данных будут передаваться в обе стороны. Если обмен простыми командами и клиентов не очень много, то архитектура сервера простейшая ни каких потоков, просто на каждое новое соединение создаешь сокет и далее обрабатываешь данные, хотя обработку можешь вынести в отдельный поток. Если же объемы передаваемых данных большие и количество клиентов огого как большое, то тут уже надо будет придумывать сложную структуру сервера. И не надо ударяться сразу в такую мысль: на каждое соединение отдельный поток, это утопия. Лучше например разбить по нагрузке, к примеру на поток 10 соединений.
Расскажи для каких целей. Больше информации надо
Я думаю судя по вопросу, твои предложения излишни. Улыбающийся
Ты предлагаешь тому, кто только что получил права купить себе спортивный болид, если утрировать Улыбающийся
Подозреваю, что программа, это какой-нибудь чат. Разве бывают программисты, которые не писали чат? Улыбающийся
Записан
merke
Гость
« Ответ #5 : Май 06, 2011, 17:24 »

Если хочешь параллельную работу, потоки тебе в помощь, иначе всё будет обрабатываться в порядке очереди
Записан
serega-5508
Гость
« Ответ #6 : Май 07, 2011, 00:25 »

спасибо! уже разобрался!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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