Введение Сетевые соединения — это всегда работа с ненадёжной средой: сервер может быть недоступен, соединение может прерваться в любой момент, а данные приходят не целиком и не сразу.…
Введение QTcpServer — серверный аналог QTcpSocket: он принимает входящие подключения и для каждого клиента создаёт отдельный объект QTcpSocket. В отличие от классических серверов на блокирующих сокетах с потоком…
Введение Большинство современных Qt-приложений взаимодействуют с веб-сервисами через REST API, обмениваясь данными в формате JSON. Основной инструмент для этого в Qt — QNetworkAccessManager, который умеет выполнять HTTP-запросы асинхронно,…
Введение WebSocket — протокол для полнодуплексной связи в реальном времени между клиентом и сервером, широко используемый в чатах, биржевых тикерах и интерактивных дашбордах. В Qt поддержка WebSocket реализована…
Введение Любой сетевой обмен, который пересекает недоверенную сеть, должен быть зашифрован — это требование сегодня является базовым, а не опциональным. В Qt шифрование TCP-соединений реализуется через QSslSocket, наследника…
Введение Когда нужно быстро поднять HTTP API внутри Qt-приложения — например, для локального управления десктопным приложением через браузер или для тестового стенда — необязательно подключать тяжёлые сторонние фреймворки.…
Введение В предыдущих статьях мы рассмотрели QTcpSocket и QTcpServer по отдельности. Теперь соберём из них небольшой, но полноценный протокол обмена сообщениями: с идентификацией пользователей, форматом сообщений на основе…
Введение В большинстве случаев Qt резолвит доменные имена автоматически и незаметно — например, при вызове QTcpSocket::connectToHost() с именем хоста вместо IP-адреса. Но иногда нужен явный контроль над DNS-резолвингом:…
Введение Реальные сети ненадёжны: запросы могут «подвисать» из-за проблем на стороне сервера, временной потери связи или перегруженного Wi-Fi. Без явной настройки таймаутов HTTP-запрос через QNetworkAccessManager может ждать ответа…
Введение UDP — протокол без установления соединения и без гарантии доставки, но он незаменим там, где важна скорость и допустима потеря отдельных пакетов: обнаружение устройств в локальной сети,…
Нравится qthelper.ru? 💚
Сайт живёт без пейволов и обязательной подписки. Если статьи помогают вам в работе — поддержите проект.