En esta página

Redes y conectividad

Qt proporciona clases para la comunicación en red de alto y bajo nivel, clases para la integración web y clases para la comunicación entre procesos (IPC).

Para el tráfico de red de alto nivel Qt Network proporciona una capa de abstracción sobre las operaciones utilizadas, mostrando sólo clases y funciones de alto nivel. Qt Network también puede manejar protocolos de bajo nivel como TCP y UDP. Clases como QTcpSocket y QUdpSocket permiten al desarrollador enviar y recibir mensajes utilizando el protocolo TCP o UDP. La resolución de nombres se realiza con QHostInfo. Se llama a QHostInfo antes de crear una conexión de red con QTcpSocket o QUdpSocket. El filtrado y la redistribución del tráfico de red a través de proxies pueden ser gestionados por la clase QNetworkProxy.

Qt proporciona opciones de conectividad para conectar sistemas o aplicaciones utilizando módulos como Qt Bluetoothque proporciona conectividad entre dispositivos con Bluetooth. Qt Serial Bus proporciona clases y funciones para acceder a los distintos buses serie y protocolos industriales, y Qt NFC proporciona conectividad entre dispositivos habilitados para NFC. Además, Qt Serial Port proporciona la funcionalidad básica, incluyendo la configuración, las operaciones de E/S, y la obtención y configuración de las señales de control de los pinouts RS-232.

Qt ofrece funcionalidades para la comunicación entre procesos. La clase QProcess se utiliza para iniciar programas externos. Qt D-Bus proporciona soporte para D-Bus, un mecanismo de comunicación entre procesos y de llamada a procedimientos remotos. Se comunica a través de una aplicación de servidor central llamada bus. Sin embargo, también es posible dejar que las aplicaciones se comuniquen directamente entre sí. QSharedMemory proporciona acceso a un segmento de memoria compartida por parte de múltiples hilos y procesos. Sin embargo, un único proceso puede bloquear en exclusiva esa memoria compartida.

Comunicación de red

Qt soporta un amplio rango de comunicación de red, con un enfoque en HTTP, TCP, y UDP.

A nivel HTTP, el módulo Qt Network ofrece la API de acceso a la red, que consiste principalmente en QNetworkRequest, QNetworkAccessManager, y QNetworkReply. QNetworkRequest se asemeja a una petición HTTP, que se pasa a QNetworkAccessManager para enviar la petición por el cable; esta clase devuelve QNetworkReply, que permite analizar la respuesta HTTP. La API de acceso a la red utiliza internamente las clases de socket mencionadas a continuación (para TCP y SSL).

QTcpSocketLas clases QUdpSocket y QSslSocket deben utilizarse para la comunicación a nivel de socket. Estas clases ofrecen una API síncrona a través de los métodos waitFor*, así como una API asíncrona; si es posible (es decir, si el bucle de eventos se está ejecutando), siempre debe preferirse la API asíncrona. Qt también ofrece QTcpServer para habilitar la parte del lado del servidor de una comunicación TCP.

Para la comunicación segura vía SSL, Qt Network ofrece una amplia gama de clases junto a la central QSslSocket. Por ejemplo, QSslCertificate, QSslConfiguration, y QSslError.

Qt también ofrece soporte HTTP en QML, ya sea utilizando HTTP explícitamente a través de XmlHttpRequest, o utilizando de forma transparente URLs HTTP en fuentes de imagen, por ejemplo.

Temas relacionados:

  • Programación en Red con Qt
  • Clases Secure Sockets Layer (SSL)
  • Carga de Recursos y Transparencia de Red - transparencia de red y URL en QML
  • Qt Network Authorization - conjunto de APIs que permiten a las aplicaciones Qt obtener acceso limitado a cuentas online y servicios HTTP sin exponer las contraseñas de los usuarios.
  • Qt Remote Objects - módulo de comunicación entre procesos (IPC) que permite el intercambio de información entre procesos u ordenadores.
  • Qt MQTT - protocolo máquina a máquina (M2M) que utiliza el paradigma publish-and-subscribe para proporcionar un canal con una sobrecarga de comunicación mínima.
  • Qt OPC UA - servidor que ofrece acceso a datos organizados en una malla de nodos conectados por referencias. El uso de diferentes tipos de referencias y nodos que contienen metadatos permite a un cliente navegar e interpretar los datos sin conocer de antemano su estructura.
  • Qt WebSockets - Protocolo basado en web diseñado para permitir una sesión de comunicación interactiva bidireccional entre una aplicación cliente y un host remoto. Permite a las dos entidades enviar datos de ida y vuelta si el apretón de manos inicial tiene éxito.
  • Qt WebChannel - Permite la comunicación de igual a igual entre un servidor (aplicación QML/C++) y un cliente (aplicación HTML/JavaScript o QML). Es compatible con Qt WebEngine. Además, puede funcionar en todos los navegadores compatibles con WebSockets, lo que permite a los clientes de Qt WebChannel ejecutarse en cualquier entorno JavaScript (incluido QML). Para ello es necesario implementar un transporte personalizado basado en Qt WebSockets.
  • Qt Protobuf - un generador que puede utilizarse para generar clases basadas en Qt a partir de archivos .proto.
  • Qt GRPC - permite definir datos y mensajes en archivos proto y, a continuación, utilizar los generadores de código, que generan código que permite acceder a campos y servicios gRPC en el marco Qt.
  • Qt OpenAPI - un generador que puede utilizarse para generar clases cliente HTTP basadas en Qt a partir de archivos de especificación OpenAPI .yaml.

Conectividad

Qt admite una serie de opciones de conectividad, con especial atención a Qt Serial Bus, Qt Serial Port, Qt Bluetooth y Qt NFC.

  • Qt Serial Bus - proporciona clases y funciones para acceder a los diversos buses serie industriales y protocolos, como CAN, ModBus, y otros.
  • Qt Serial Port - proporciona la funcionalidad básica, que incluye configuración, operaciones de E/S, obtención y configuración de las señales de control de los pinouts RS-232.
  • Qt Bluetooth - proporciona clases y funciones para utilizar dispositivos Bluetooth, lo que incluye la búsqueda de dispositivos, la recopilación de información y el intercambio de datos entre ellos. Qt Bluetooth es compatible con las tecnologías Bluetooth clásica y de baja energía.
  • Qt NFC - proporciona clases y funciones para establecer la conectividad entre dispositivos habilitados para NFC. NFC es una tecnología inalámbrica de corto alcance (menos de 20 centímetros) con una velocidad máxima de transferencia de 424 Kbps. NFC es ideal para transferir pequeños paquetes de datos cuando dos dispositivos se colocan juntos.

Temas relacionados:

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.