Работа с сетью в Qt 23

Работа с сетью в Qt

QTcpSocket: подключение к серверу и обработка разрывов соединения

Введение Сетевые соединения — это всегда работа с ненадёжной средой: сервер может быть недоступен, соединение может прерваться в любой момент, а данные приходят не целиком и не сразу.…

Работа с сетью в Qt

QTcpServer: пишем простой многоклиентский сервер на Qt

Введение QTcpServer — серверный аналог QTcpSocket: он принимает входящие подключения и для каждого клиента создаёт отдельный объект QTcpSocket. В отличие от классических серверов на блокирующих сокетах с потоком…

Работа с сетью в Qt

QNetworkAccessManager: GET/POST-запросы и обработка JSON-ответа

Введение Большинство современных Qt-приложений взаимодействуют с веб-сервисами через REST API, обмениваясь данными в формате JSON. Основной инструмент для этого в Qt — QNetworkAccessManager, который умеет выполнять HTTP-запросы асинхронно,…

Работа с сетью в Qt

WebSocket в Qt: QWebSocket и QWebSocketServer на практике

Введение WebSocket — протокол для полнодуплексной связи в реальном времени между клиентом и сервером, широко используемый в чатах, биржевых тикерах и интерактивных дашбордах. В Qt поддержка WebSocket реализована…

Работа с сетью в Qt

SSL/TLS в Qt: настройка QSslSocket и работа с сертификатами

Введение Любой сетевой обмен, который пересекает недоверенную сеть, должен быть зашифрован — это требование сегодня является базовым, а не опциональным. В Qt шифрование TCP-соединений реализуется через QSslSocket, наследника…

Работа с сетью в Qt

QHttpServer: легковесный REST-сервер на Qt без сторонних фреймворков

Введение Когда нужно быстро поднять HTTP API внутри Qt-приложения — например, для локального управления десктопным приложением через браузер или для тестового стенда — необязательно подключать тяжёлые сторонние фреймворки.…

Работа с сетью в Qt

Реализация простого чат-протокола на QTcpSocket: сервер и клиент

Введение В предыдущих статьях мы рассмотрели QTcpSocket и QTcpServer по отдельности. Теперь соберём из них небольшой, но полноценный протокол обмена сообщениями: с идентификацией пользователей, форматом сообщений на основе…

Работа с сетью в Qt

QDnsLookup: программный DNS-резолвинг в Qt-приложении

Введение В большинстве случаев Qt резолвит доменные имена автоматически и незаметно — например, при вызове QTcpSocket::connectToHost() с именем хоста вместо IP-адреса. Но иногда нужен явный контроль над DNS-резолвингом:…

Работа с сетью в Qt

Таймауты и переподключение в QNetworkAccessManager: устойчивые HTTP-запросы

Введение Реальные сети ненадёжны: запросы могут «подвисать» из-за проблем на стороне сервера, временной потери связи или перегруженного Wi-Fi. Без явной настройки таймаутов HTTP-запрос через QNetworkAccessManager может ждать ответа…