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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сервер-Клиент на Qt 4.3.3  (Прочитано 6971 раз)
ant_studio
Гость
« : Январь 16, 2008, 19:28 »

Народ, подскажите - как правильно и культурно клиентской части ждать загрузки сервера?
(Предполагается, что сервер и клиентские компы включаются не последовательно)

Пожалуйста приведите пример (код)
Записан
WW
Гость
« Ответ #1 : Январь 17, 2008, 13:07 »

Интересный вопрос  Непонимающий Смеющийся
Наверное - пробовать подключиться к серверу?
Записан
ant_studio
Гость
« Ответ #2 : Январь 17, 2008, 14:01 »

Ага! (забыл сказать что призагрузке GUI приложения кнопки Connect НЕТ - сеть начинает работать сразу - по этому и встовал такой вопрос, что если клиент начал коннектиться а сервера еще нет - что же делать)
Но Спасибо!

Сделал другой поток - пытаясь подключиться N число раз - и Все получилось!!!
Записан
Dodge
Гость
« Ответ #3 : Январь 17, 2008, 15:59 »

Ага! (забыл сказать что призагрузке GUI приложения кнопки Connect НЕТ - сеть начинает работать сразу - по этому и встовал такой вопрос, что если клиент начал коннектиться а сервера еще нет - что же делать)
Но Спасибо!

Сделал другой поток - пытаясь подключиться N число раз - и Все получилось!!!
Уважаемый, это вопрос скорее по архитектуре клиент-серверных приложений, но не про Qt точно.
Записан
ant_studio
Гость
« Ответ #4 : Январь 17, 2008, 16:34 »

От чего же - я же задовал вопрос о медодах и о реализации.
Просто я как и многие другие пошел не тем путем - надо было сначало досконально изучить Асистант и возможную литературу и лишь не найдя ответа обращаться к форумам.
Записан
Dodge
Гость
« Ответ #5 : Январь 18, 2008, 15:27 »

От чего же - я же задовал вопрос о медодах и о реализации.
Просто я как и многие другие пошел не тем путем - надо было сначало досконально изучить Асистант и возможную литературу и лишь не найдя ответа обращаться к форумам.
Ааа-ааа-аа-ххх-хррррр... спорить бестолку

Пусть будет по вашему.

Есть множество способов решить проблему.

Пожалуй самый простой, это в отдельном потоке(QThread), с определенным интервалом пытаться подключится к серверу.
Посложнее, но более логичный:
Клиент, в результате неудачной попытки подключится к серверу, начанает слушать определенный порт.
Сервер в свою очередь, после загрузки пускает широковещательное сообщение, т.о. все клиенты ожидающие сервер, получив сообщение, повторяют попытку подключения.
Записан
Sergeich
Гость
« Ответ #6 : Январь 18, 2008, 15:42 »

Посложнее, но более логичный:
Клиент, в результате неудачной попытки подключится к серверу, начанает слушать определенный порт.
Сервер в свою очередь, после загрузки пускает широковещательное сообщение, т.о. все клиенты ожидающие сервер, получив сообщение, повторяют попытку подключения.
Этот метод подходит только для локальной сети.
Записан
Dodge
Гость
« Ответ #7 : Январь 18, 2008, 20:28 »

Этот метод подходит только для локальной сети.
Согласен. Приведенные методы не притендуют на окончательный вариант, я лишь привел пример. Соответственно критиковать и смысла нет.
Записан
ant_studio
Гость
« Ответ #8 : Январь 18, 2008, 22:47 »

Пожалуй самый простой, это в отдельном потоке(QThread), с определенным интервалом пытаться подключится к серверу.
Посложнее, но более логичный:
Клиент, в результате неудачной попытки подключится к серверу, начанает слушать определенный порт.
Сервер в свою очередь, после загрузки пускает широковещательное сообщение, т.о. все клиенты ожидающие сервер, получив сообщение, повторяют попытку подключения.

Как говори чуть раньше - именно этот способ я для себя и выбрал + добавил цикл для отправки запросов на соединение раз в одну секунду ----  все заработало и вполне удовлетворяет нашим потребностям!

BCEM ОГРОМНОЕ СПАСИБО ЗА УЧАСТИЕ
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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