crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Вопрос по QHttp
Rocky
  опции профиля:
сообщение 23.1.2010, 18:21
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Всем привет!

Помогите пожалйста разобраться с QHttp.

Сейчас требуется написать приложение в такой связке: клиентская часть <-> Apache <-> серверная часть.
Не очень понятно с сигналами QHttp. На стороне клиента, если нужно получить какую-то информацию от сервера, я делаю get-запрос. Записываю идентификатор например в std::set.
Далее в слоте сигнала requestFinished я ищу в этом std::set свой идентификатор. Если нахожу и если ошибки нет то вызываю QHttp::readAll().
Вопрос 1. Где лучше это делать: в слоте сигнала requestFinished или в слоте сигнала done?
Вопрос 2. Если я послал 2 запроса, как мне потом отличить на какой из пришел ответ? Вот это вообще не понятно. Т.е. я сделал 2 get подряд, сгенерировался сигнал requestFinished
и как мне в нем узнать на какой из 2-х get-запросов пришел ответ? Все ведь в асинхронном режиме.

Далее, если мне нужно отправить какую-то информацию серверной части, я делаю post-запрос. Опять-таки записываю идентификатор например в std::set.
Вопрос3. Идентификаторы от post и get не пересекаются или лучше их хранить в разных std::set? И нужно ли их вообще хранить?
Вопрос4.
Цитата
/*post*/ ......... The function returns a unique identifier which is passed by requestStarted() and requestFinished().....
. Не очень понятно, т.е. в requestFinished после post-запроса
я смогу только посмотреть, прошел ли запрос успешно или нет, так? прийти ведь ничего не должно в ответ, так?

Вопрос5. А если серверная часть что-то по http будет запрашивать у клиента, как я об этом узнаю? Или без использования сокетов никак?
Вобщем, помогите разобраться пожалуйста, или может есть какая-то стандартная схема или wrapper над QHttp.
Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 4)
Litkevich Yuriy
  опции профиля:
сообщение 23.1.2010, 19:35
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Rocky @ 23.1.2010, 21:21) *
Помогите пожалйста разобраться с QHttp.
тыб лучше на нём не заострял внимание, этот класс считается устаревшим, а ему на смену пришёл QNetworkAccessManager
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 23.1.2010, 20:02
Сообщение #3


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Rocky @ 23.1.2010, 18:21) *
Вопрос 2. Если я послал 2 запроса, как мне потом отличить на какой из пришел ответ? Вот это вообще не понятно. Т.е. я сделал 2 get подряд, сгенерировался сигнал requestFinished

void requestFinished ( int id, bool error )
отличишь какой пришел по id

П.С. С Litkevich Yuriy, согласен полностью. сам использую QNetworkAccessManager
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 23.1.2010, 20:58
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


ок спасибо, буду разбираться
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
novichkov
  опции профиля:
сообщение 26.7.2010, 20:11
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 64
Регистрация: 20.3.2008
Из: Северодвинск
Пользователь №: 128

Спасибо сказали: 6 раз(а)




Репутация:   1  


Цитата(kwisp @ 23.1.2010, 21:02) *
С Litkevich Yuriy, согласен полностью. сам использую QNetworkAccessManager


А как тогда с QNetworkManager и QNetworkReply отслеживать состояние подключения (вроде QHttp::stateChanged(int))?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 9:13