Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Hvzh от Февраль 14, 2011, 08:43



Название: Посоветуйте по поводу реализации
Отправлено: Hvzh от Февраль 14, 2011, 08:43
Сущевствует некий сервер, который периодически опрашивает клиента на предмет его работоспособности путем посылки некоего запроса. Клиент при нахождении в рабочем состоянии посылает серверу некий ответ. При всем при этом существует еще и основной поток, который работает через графический интерфейс со внешним пользователем. Когда пользователь совершит некие действия, то необходимо, чтобы клиент вместо стандартного ответа послал на сервер те данные, которые ввел клиент. То есть, нужна связь еще и с основным потоком. Подскажите пожалуйста, как это можно сделать средствами Qt.


Название: Re: Посоветуйте по поводу реализации
Отправлено: kuzulis от Февраль 14, 2011, 10:01
Прям какой-то тырпыршмыр, я даже не знаю что и посоветовать... :)

  


Название: Re: Посоветуйте по поводу реализации
Отправлено: Hvzh от Февраль 14, 2011, 10:16
К сожалению, именно так устроена работа банкоматов...


Название: Re: Посоветуйте по поводу реализации
Отправлено: ufna от Февраль 14, 2011, 10:35
Надо почитать о QtNetwork модуле, посмотреть демки на эту тему. Разобраться в потоках.


Название: Re: Посоветуйте по поводу реализации
Отправлено: Hvzh от Февраль 14, 2011, 11:10
У меня была идея такая: создать поток, в нем через QTcpSocket подконнектиться к серверу и слушать его, периодически отвечая на запросы. Но вот как передать юзерские данные? Через сигнал-слот?


Название: Re: Посоветуйте по поводу реализации
Отправлено: merke от Февраль 16, 2011, 11:06
могу посоветовать следующее.

в твоем потоке с QTcpSocket сделай слот например

void changeDate(QString data);

в маинтреде т.е. в гуишном потоке связывай сигнал  изменения данных со слотом в потоке.