AYUDA DE PYTHON

deepstream io (Cómo funciona para desarrolladores)

Un servidor en tiempo real está diseñado para responder a los datos al instante, haciéndolo inmediatamente receptivo a cada interacción del usuario o evento del sistema. A diferencia de los servidores convencionales de solicitud-respuesta que introducen retrasos, los servidores en tiempo real utilizan tecnologías y protocolos para garantizar un intercambio continuo de información y actualizaciones instantáneas. Es porque un servidor en tiempo real es crítico para varias aplicaciones que requieren comunicaciones en vivo: sistemas de mensajería, juegos en línea, plataformas de comercio financiero y herramientas de colaboración. En este artículo, vamos a aprender cómo usar el servidor de tiempo real abierto deepstream y IronPDF para generar PDFs.

Introducción

deepstream.io es un servidor en tiempo real escalable para la sincronización de datos y mensajería de muchos a muchos. Puede manejar datos con facilidad y mantener a muchos clientes sincronizados con una latencia muy baja, admitiendo la transferencia de datos binarios. deepstream.io está diseñado para estar detrás de otros balanceadores de carga y ofrece una manera eficiente de sincronizar datos y mantener archivos de recursos actualizados, lo que lo hace adecuadamente apto para aplicaciones que actualizan datos en tiempo real y buscan una solución de servidor escalable.

deepstream io (Cómo funciona para desarrolladores): Figura 1 - deepstream.io

La implementación de deepstream.io por parte de los desarrolladores puede permitir fácilmente actualizaciones en vivo, aplicaciones colaborativas y experiencias interactivas en tiempo real, sin necesidad de empezar desde cero. Ha sido diseñado para altas cargas y un escalado eficiente, lo que lo convierte en el software preferido para aplicaciones de alta concurrencia. deepstream.io es flexible y puede resultar ser la adición perfecta a tu stack de múltiples maneras diferentes. Proporciona una solución completa para permitir a los usuarios crear aplicaciones web y móviles en tiempo real, receptivas e interactivas.

Para crear un nuevo directorio de Node.js, ingrese los siguientes comandos en la consola:

mkdir deepstream-project
cd deepstream-project
npm init -y
mkdir deepstream-project
cd deepstream-project
npm init -y
SHELL

Instalar el paquete deepstream.io

En primer lugar, necesitas instalar deepstream.io. Puedes usar NPM para instalarlo o descargar los binarios desde el sitio web oficial.

npm install @deepstream/server
npm install @deepstream/server
SHELL

Configuración básica de deepstream.io

const { Deepstream } = require('@deepstream/server')
//we can add modifying resource files as a parameter
const server = new Deepstream({})
// start the server
server.start()
js
JAVASCRIPT

El siguiente es un fragmento de código que demuestra cómo configurar e iniciar un servidor deepstream.io utilizando el paquete @deepstream/server en Node.js. Primero, importa la clase Deepstream de ese paquete. A continuación, crea una instancia de la clase. En este punto, se inicializa una nueva instancia de Deepstream. Con la llamada a server.start() a continuación, esto inicia el servidor, quedando así listo para aceptar cualquier conexión entrante para manejar la vinculación de datos en tiempo real, mensajería o servicios de backend de presencia. Esta configuración mínima pondrá en marcha un servidor, listo para conexiones de clientes y capaz de hacer lo que sea necesario, desde la gestión de datos hasta la transmisión de eventos.

Conectar Deepstream con el cliente

const { DeepstreamClient } = require('@deepstream/client')
const client = new DeepstreamClient('127.0.0.1:6020')
client.login( null);
js
JAVASCRIPT

El siguiente es un fragmento de código que muestra cómo conectarse a deepstream utilizando la biblioteca @deepstream/client. Este script importa la clase DeepstreamClient y luego crea una instancia de DeepstreamClient que se conecta a un servidor deepstream que se ejecuta localmente en la dirección IP 127.0.0.1 en el puerto 6020. Al final, debería iniciar sesión en este servidor con client.login(null). En este caso, se pasa null, lo que significaría que no se proporcionan credenciales. Eso podría ser suficiente si el servidor no utiliza autenticación en absoluto o para algunos casos de prueba. La siguiente configuración inicializará un cliente que se conectará a un servidor deepstream para la sincronización de datos en tiempo real y la comunicación con usuarios avanzados.

Una vez que se conecta con el nodo del servidor, mostrará un mensaje como el siguiente en la consola del servidor.

deepstream io (Cómo funciona para desarrolladores): Figura 2 - Mensaje de consola

Uso de Listener con deepstream.io

A continuación se muestra el código de ejemplo que se puede utilizar para crear escuchas, lo cual es también uno de los conceptos clave de deepstream.

const { DeepstreamClient } = require("@deepstream/client");
const client = new DeepstreamClient("127.0.0.1:6020");
client.login(null, (success, clientData) => {
  if (success) {
    const event = client.event;
    // Publish a custom event
    event.publish("custom-event", { message: "Hello, Deepstream!" });
  }
});
js
JAVASCRIPT

En el código anterior, inicie sesión en un servidor deepstream alojado en 127.0.0.1:6020 utilizando la biblioteca @deepstream/client. Después de esto, verifica si el inicio de sesión fue exitoso tras establecer una conexión e iniciar sesión. Si la autenticación con el servidor en tiempo real es exitosa, publica un evento personalizado llamado "custom-event" con una carga útil de mensaje { message: "Hello, Deepstream!" }. El ejemplo a continuación mostrará cómo conectarse a un servidor deepstream y enviar mensajes y un evento personalizado a este.

Presentación de IronPDF

Utiliza IronPDF, un paquete de Node.js increíblemente robusto, para crear, editar, convertir y editar documentos PDF. Es una herramienta utilizada en la mayoría de los procesos basados en programación sobre PDFs y en procesos backend como la modificación de PDFs preexistentes y la conversión de HTML a PDFs. En aplicaciones donde la creación y manejo dinámico de PDFs son necesarios, IronPDF se vuelve muy útil. Proporciona una manera fácil de usar y flexible para generar documentos PDF de calidad.

deepstream io (Cómo funciona para desarrolladores): Figura 3 - IronPDF

Instalar el paquete de IronPDF

Utilice NPM para descargar e instalar paquetes que permitan a Node.js habilitar la capacidad de IronPDF.

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

Función de Generación de PDF

Crea una función que use IronPDF para crear PDFs:

const IronPdf = require('@ironsoftware/ironpdf');
const { PdfDocument } = IronPdf;
// Set IronPDF configuration
const config = IronPdf.IronPdfGlobalConfig;
config.setConfig({ licenseKey: 'YOUR_LICENSE_KEY' }); // Replace with your actual license key
async function generatePDF(title, content) {
  try {
    // Generate PDF from HTML content
    const pdf = await PdfDocument.fromHtml(`<html><body><h1>${title}</h1><p>${content}</p></body></html>`);
    return await pdf.saveAsBuffer();
  } catch (error) {
    console.error('Error generating PDF:', error);
    throw error;
  }
}
module.exports = generatePDF;
js
JAVASCRIPT

Configurar el Cliente Deepstream

Ahora escribe un script en Python que escuchará datos en tiempo real y producirá archivos PDF basados en esos datos:

const { DeepstreamClient } = require('@deepstream/client');
const generatePDF = require('./generatePdf'); // Path to your PDF generation function
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, async (success) => {
  if (success) {
    console.log('Deepstream connected successfully');
    // Listen for a custom event to trigger PDF generation
    const event = client.event;
    event.subscribe('generate-pdf', async (data) => {
      const { title, content } = data;
      if (!title 
 !content) {
        console.error('Missing title or content for PDF generation');
        return;
      }
      try {
        // Generate the PDF
        const pdfBuffer = await generatePDF(title, content);
        // Handle the PDF buffer (e.g., save to file, send over network)
        console.log('PDF generated successfully');
        // Example: Save PDF to a file (optional)
        const fs = require('fs');
        fs.writeFileSync('generated.pdf', pdfBuffer);
      } catch (error) {
        console.error('Error generating PDF:', error);
      }
    });
  } else {
    console.error('Failed to connect to Deepstream');
  }
});
js
JAVASCRIPT

Publicación de eventos para activar la generación de PDF

Podemos publicar eventos para desencadenar la generación de PDF desde otro script de Python o parte de tu aplicación:

const { DeepstreamClient } = require('@deepstream/client');
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, () => {
  const event = client.event;
  // Publish a custom event with title and content
  event.publish('generate-pdf', {
    title: 'Sample PDF Title',
    content: 'This is the content of the PDF document.'
  });
});
js
JAVASCRIPT

Deepstream.io se implementa escuchando eventos en tiempo real que activarán la generación de PDF. La función generatePDF crea un documento PDF basado en datos de eventos de Deepstream.io utilizando IronPDF. El DeepstreamClient se suscribiría a estos, y cada vez que se publiquen eventos relevantes, llamaría a la función de generación de PDF. Dicha integración permite la generación dinámica de PDFs en tiempo real basándose en la ocurrencia de eventos, solicitudes o cambios de datos.

deepstream io (Cómo funciona para desarrolladores): Figura 4 - Salida PDF

Licencias

Para que el código se compile y funcione sin una marca de agua, se requiere una clave de licencia. Los desarrolladores que deseen una licencia de prueba pueden registrarse aquí. Obtener uno no requiere presentar una tarjeta de crédito. Todo lo que tienes que hacer para registrarte en una prueba gratuita es ingresar tu dirección de correo electrónico.

Conclusión

Una de las soluciones más sólidas para el manejo de datos en tiempo real y la generación dinámica de documentos se logra mediante una combinación de deepstream.io e IronPDF. deepstream.io sincroniza cambios y registra todos los eventos en tiempo real, por lo tanto, puede reaccionar inmediatamente a cualquier cambio en los datos. IronPDF proporciona un mecanismo robusto para crear documentos profesionales al instante. Esta integración permitirá que tus aplicaciones creen y procesen documentos PDF automáticamente no solo cuando cambien los datos en tiempo real, sino también cada vez que un usuario interactúe con tu aplicación.

Tanto si se trata de la generación de informes, facturas o cualquier otro tipo de documento, deepstream.io integrado con IronPDF permite la simplificación de flujos de trabajo, la creación de documentos responsivos y mantiene su aplicación ágil y actualizada con información en tiempo real. Esta combinación funciona mejor para aplicaciones ágiles, impulsadas por datos y receptivas que exigen soporte en tiempo real para la generación y gestión de documentos.

Las bibliotecas proporcionadas por Iron Software nos permiten crear programas de forma rápida y sencilla para una variedad de sistemas operativos, navegadores y plataformas, incluidos Windows, Android, MAC, Linux, etc.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
SIGUIENTE >
imageio python (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2025.5 acaba de salir

Ver licencias >