Russian Qt Forum

Qt => Работа с сетью => Тема начата: ant_studio от Январь 16, 2008, 19:28



Название: Сервер-Клиент на Qt 4.3.3
Отправлено: ant_studio от Январь 16, 2008, 19:28
Народ, подскажите - как правильно и культурно клиентской части ждать загрузки сервера?
(Предполагается, что сервер и клиентские компы включаются не последовательно)

Пожалуйста приведите пример (код)


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: WW от Январь 17, 2008, 13:07
Интересный вопрос  ??? ;D
Наверное - пробовать подключиться к серверу?


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: ant_studio от Январь 17, 2008, 14:01
Ага! (забыл сказать что призагрузке GUI приложения кнопки Connect НЕТ - сеть начинает работать сразу - по этому и встовал такой вопрос, что если клиент начал коннектиться а сервера еще нет - что же делать)
Но Спасибо!

Сделал другой поток - пытаясь подключиться N число раз - и Все получилось!!!


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: Dodge от Январь 17, 2008, 15:59
Ага! (забыл сказать что призагрузке GUI приложения кнопки Connect НЕТ - сеть начинает работать сразу - по этому и встовал такой вопрос, что если клиент начал коннектиться а сервера еще нет - что же делать)
Но Спасибо!

Сделал другой поток - пытаясь подключиться N число раз - и Все получилось!!!
Уважаемый, это вопрос скорее по архитектуре клиент-серверных приложений, но не про Qt точно.


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: ant_studio от Январь 17, 2008, 16:34
От чего же - я же задовал вопрос о медодах и о реализации.
Просто я как и многие другие пошел не тем путем - надо было сначало досконально изучить Асистант и возможную литературу и лишь не найдя ответа обращаться к форумам.


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: Dodge от Январь 18, 2008, 15:27
От чего же - я же задовал вопрос о медодах и о реализации.
Просто я как и многие другие пошел не тем путем - надо было сначало досконально изучить Асистант и возможную литературу и лишь не найдя ответа обращаться к форумам.
Ааа-ааа-аа-ххх-хррррр... спорить бестолку

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

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

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


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: Sergeich от Январь 18, 2008, 15:42
Посложнее, но более логичный:
Клиент, в результате неудачной попытки подключится к серверу, начанает слушать определенный порт.
Сервер в свою очередь, после загрузки пускает широковещательное сообщение, т.о. все клиенты ожидающие сервер, получив сообщение, повторяют попытку подключения.
Этот метод подходит только для локальной сети.


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: Dodge от Январь 18, 2008, 20:28
Этот метод подходит только для локальной сети.
Согласен. Приведенные методы не притендуют на окончательный вариант, я лишь привел пример. Соответственно критиковать и смысла нет.


Название: Re: Сервер-Клиент на Qt 4.3.3
Отправлено: ant_studio от Январь 18, 2008, 22:47
Пожалуй самый простой, это в отдельном потоке(QThread), с определенным интервалом пытаться подключится к серверу.
Посложнее, но более логичный:
Клиент, в результате неудачной попытки подключится к серверу, начанает слушать определенный порт.
Сервер в свою очередь, после загрузки пускает широковещательное сообщение, т.о. все клиенты ожидающие сервер, получив сообщение, повторяют попытку подключения.

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

BCEM ОГРОМНОЕ СПАСИБО ЗА УЧАСТИЕ