Класс QHttp


HTTP (HyperText Transfer Protocol, протокол передачи гипертекста) является стандартным и самым известным протоколом для обмена данными в сетях. Его использование проще, чем использование рассмотренного FTP-протокола. В нем используется только одно соединение, в то время как FTP применяет два: одно для отсылки команд, другое — для перекачивания данных.

Qt предоставляет класс QHttp для реализации стороны клиента HTTP-протокола. Использование этого класса очень похоже на использование класса QFtp. Пример демонстрирует запись растрового изображения, находящегося на www.geocities.ru/mslerm/images, в текущую директорию под именем qtbook.gif.


QFile file("book.gif"); 
QHttp http; 
if (file.open(QIODevice::WriteOnly))
{ 
  http.setHost("www.geocities.com"); 
  http.get("/mslerm/images/qtbook.gif", &file); 
  http.close(); 
  file.close(); 
}

Сокетные соединения —- это стандартный механизм обмена данными через сеть в обоих направлениях. Каждому сокету соответствует пара значений: сетевой адрес и номер порта.

Сценарий "клиент-сервер" выглядит следующим образом: сервер занимает определенный порт, по которому он предоставляет свои услуги, после этого он начинает ожидать поступления запросов от клиентов через этот порт. Чтобы подключиться к серверу, клиент должен знать его адрес и номер порта. Для соединения с сервером клиент должен создать сокет.

Для более простой работы с сетью Qt предоставляет специализированные классы QFtp и QHttp, представляющие собой реализации стороны клиента.

Читать далее: Дата и время в Qt