Altbilgi içeriğine atla
PYTHON YARDıM

deepstream io (Geliştiriciler İçin Nasıl Çalışır)

Gerçek zamanlı bir sunucu, verileri anında yanıtlayacak şekilde tasarlanmıştır, bu da her kullanıcı etkileşimi veya sistem etkinliğine anında yanıt vermesini sağlar. Geleneksel istek-yanıt sunucularının gecikmeler getirdiği karşılaştırıldığında, gerçek zamanlı sunucular, sürekli bilgi alışverişi ve anında güncellemeler sağlamak için teknolojiler ve protokoller kullanır. Çünkü gerçek zamanlı bir sunucu, canlı iletişim gerektiren birçok uygulama için kritik öneme sahiptir: mesajlaşma sistemleri, çevrimiçi oyunlar, finansal ticaret platformları ve işbirliği araçları. Bu makalede, açık gerçek zamanlı sunucu deepstream ve IronPDF kullanarak nasıl PDF oluşturulacağını öğreneceğiz.

deepstream.io, veri senkronizasyonu ve birçoktan birçokya mesajlaşma için ölçeklenebilir bir gerçek zamanlı sunucudur. Verileri kolayca işleyebilir ve birçok müşteriyi gerçekten düşük gecikmeyle senkronize tutabilir, ikili veri aktarımını destekler. deepstream.io, diğer yük dengeleme ve dengeleyicilerin arkasına yerleştirilmek üzere tasarlanmıştır ve verileri senkronize etmek ve kaynak dosyalarını güncel tutmak için etkin bir yol sunar; bu da gerçek zamanlı veri güncellemeleri yapan ve ölçeklenebilir bir sunucu çözümü arayan uygulamalar için mükemmel bir uyumluluk sağlar.

deepstream io (Geliştiriciler Icin Nasıl Calisir): Sekil 1 - deepstream.io

deepstream.io uygulaması, geliştiriciler tarafından gerçek zamanlı güncellemeler, işbirlikçi uygulamalar ve etkileşimli deneyimler için sıfırdan başlamadan anında olarak kolayca kullanılabilir. Yüksek yükler ve verimli ölçekleme için tasarlanmış ve yüksek eşzamanlılık uygulamaları için tercih edilen yazılım haline gelmiştir. deepstream.io esnektir ve farklı şekillerde yığınıza mükemmel bir ek olarak ortaya çıkabilir. Gerçek zamanlı, duyarlı ve etkileşimli web ve mobil uygulamalar oluşturmak için eksiksiz bir çözüm sunar.

Yeni bir Node.js dizini oluşturmak için konsola aşağıdaki komutları girin:

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

deepstream.io Paketini Kurun

İlk olarak, deepstream.io'yu kurmanız gerekiyor. Bunu ya NPM kullanarak kurabilir ya da resmi web sitesinden ikili dosyaları indirip kurabilirsiniz.

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

deepstream.io'nun Temel Yapılandırması

const { Deepstream } = require('@deepstream/server');

// Create a new Deepstream server instance
const server = new Deepstream({});

// Start the server to listen for client connections
server.start();
const { Deepstream } = require('@deepstream/server');

// Create a new Deepstream server instance
const server = new Deepstream({});

// Start the server to listen for client connections
server.start();
JAVASCRIPT

Yukaridaki kod parcacigi, Node.js icin @deepstream/server package kullanarak bir deepstream.io sunucusunun nasıl kurulacagini ve başlatilacagini göstermektedir. Oncelikle package'dan Deepstream sinifini ithal eder, sonra yeni bir örnek oluşturur. server.start() cagrisi ile sunucu başlatilir ve gerçek zamanli veri baglama, mesajlasma veya varlik arka plan hizmetlerini yonetmek icin gelen baglantilari kabul etmeye hazirdir.

Deepstream'i İstemci İle Bağlama

const { DeepstreamClient } = require('@deepstream/client');

// Connect to a local deepstream server
const client = new DeepstreamClient('127.0.0.1:6020');

// Log in to the server without credentials (suitable for servers without authentication)
client.login(null);
const { DeepstreamClient } = require('@deepstream/client');

// Connect to a local deepstream server
const client = new DeepstreamClient('127.0.0.1:6020');

// Log in to the server without credentials (suitable for servers without authentication)
client.login(null);
JAVASCRIPT

Yukaridaki kod, @deepstream/client kutuphanesini kullanarak deepstream'e nasıl baglanacagini göstermektedir. Bu script DeepstreamClient sinifini ithal eder, bir örnek oluşturur ve IP adresi 127.0.0.1 ve 6020 portunda calisan yerel bir deepstream sunucusuna baglanir. Kimlik bilgileri olmadan giris yapar, bu yeterli olur eger sunucu kimlik doğrulama kullanmiyorsa veya test senaryolari icin kullaniliyorsa. Bu yapılandırma, gerçek zamanlı veri senkronizasyonu ve iletişimi için bir istemci başlatır.

Sunucu düğümü ile bağlantı kurulduktan sonra, aynen aşağıdaki gibi bir mesaj sunucu konsolunda görülecektir.

deepstream io (Geliştiriciler Icin Nasıl Calisir): Sekil 2 - Konsol Mesaji

deepstream.io ile Dinleyici Kullanımı

Aşağıda, deepstream'in temel kavramlarından biri olan dinleyicileri oluşturmak için kullanılabilecek bir örnek kod yer almaktadır.

const { DeepstreamClient } = require("@deepstream/client");

// Connect to the Deepstream server
const client = new DeepstreamClient("127.0.0.1:6020");

// Log in to the server
client.login(null, (success, clientData) => {
  if (success) {
    const event = client.event;
    // Publish a custom event
    event.publish("custom-event", { message: "Hello, Deepstream!" });
  }
});
const { DeepstreamClient } = require("@deepstream/client");

// Connect to the Deepstream server
const client = new DeepstreamClient("127.0.0.1:6020");

// Log in to the server
client.login(null, (success, clientData) => {
  if (success) {
    const event = client.event;
    // Publish a custom event
    event.publish("custom-event", { message: "Hello, Deepstream!" });
  }
});
JAVASCRIPT

Yukardaki kodda, müşteri @deepstream/client kutuphanesini kullanarak 127.0.0.1:6020'de barindirilmis bir deepstream sunucusuna giris yapar. Basarili kimlik doğrulama uzerine, "custom-event" adi verilen ozellestirilmis bir etkinlik { message: "Hello, Deepstream!" } yuklemesiyle yayinlanir.

IronPDF'i Tanıtma

IronPDF kullanarak, PDF belgeleri oluşturmak, düzenlemek, dönüştürmek ve düzenlemek için inanılmaz güçlü Node.js paketini kullanabilirsiniz. PDF'ler üzerinde program tabanlı süreçlerde ve önceden var olan PDF'leri değiştirme ve HTML'yi PDF'lere dönüştürme gibi arka plan süreçlerinde kullanılan bir araçtır. PDF'lerin dinamik olarak oluşturulmasının ve işlenmesinin gerekli olduğu uygulamalarda, IronPDF çok yardımcı olur. Kaliteli PDF belgeleri üretmek için kullanıcı dostu ve esnek bir yol sunar.

deepstream io (Geliştiriciler Icin Nasıl Calisir): Sekil 3 - IronPDF

IronPDF paketini kurun

Node.js IronPDF yeteneğini etkinleştiren paketleri indirmek ve kurmak için npm kullanın.

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

PDF Üretim Fonksiyonu

IronPDF kullanarak PDF oluşturacak bir fonksiyon yaratın:

const IronPdf = require('@ironsoftware/ironpdf');
const { PdfDocument } = IronPdf;

// Set IronPDF configuration, replacing 'YOUR_LICENSE_KEY' with your actual license key
const config = IronPdf.IronPdfGlobalConfig;
config.setConfig({ licenseKey: 'YOUR_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;
const IronPdf = require('@ironsoftware/ironpdf');
const { PdfDocument } = IronPdf;

// Set IronPDF configuration, replacing 'YOUR_LICENSE_KEY' with your actual license key
const config = IronPdf.IronPdfGlobalConfig;
config.setConfig({ licenseKey: 'YOUR_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;
JAVASCRIPT

Deepstream İstemcisini Kurun

Gerçek zamanlı verileri dinleyecek ve bu verilere dayanarak PDF oluşturacak bir JavaScript komut dosyası yazın:

const { DeepstreamClient } = require('@deepstream/client');
const generatePDF = require('./generatePdf'); // Path to your PDF generation function

// Connect to the Deepstream server
const client = new DeepstreamClient('127.0.0.1:6020');

// Log in to the server
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');
  }
});
const { DeepstreamClient } = require('@deepstream/client');
const generatePDF = require('./generatePdf'); // Path to your PDF generation function

// Connect to the Deepstream server
const client = new DeepstreamClient('127.0.0.1:6020');

// Log in to the server
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');
  }
});
JAVASCRIPT

PDF Üretimini Tetiklemek İçin Etkinlikleri Yayınlama

Başka bir JavaScript dosyasından veya uygulamanızın bir parçasından PDF üretimini tetiklemek için etkinlikler yayınlanabilir:

const { DeepstreamClient } = require('@deepstream/client');

// Connect to the Deepstream server
const client = new DeepstreamClient('127.0.0.1:6020');

// Log in to the server
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.'
  });
});
const { DeepstreamClient } = require('@deepstream/client');

// Connect to the Deepstream server
const client = new DeepstreamClient('127.0.0.1:6020');

// Log in to the server
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.'
  });
});
JAVASCRIPT

Deepstream.io, PDF üretimini tetiklecek gerçek zamanlı etkinlikleri dinleyerek uygulanır. generatePDF fonksiyonu, IronPDF kullanarak Deepstream.io etkinliklerinden gelen verilere dayali bir PDF dokümani oluşturur. DeepstreamClient bu etkinliklere abone olur ve ilgili etkinlikler yayinlandiginda PDF oluşturma fonksiyonunu cagirir. Bu tür bir entegrasyon, olayların meydana gelmesi, istekler ya da veri değişikliklerine dayalı olarak gerçek zamanlı PDF üretiminin dinamik olarak yapılmasını sağlar.

deepstream io (Geliştiriciler Icin Nasıl Calisir): Sekil 4 - PDF Ciktisi

Lisanslama

Kodun derlenmesi ve su işareti olmadan çalışabilmesi için bir lisans anahtarı gereklidir. Deneme lisansı almak isteyen geliştiriciler buradan kayıt olabilirler. Bunu edinmek için kredi kartı bilgileri sunmak gerekmez. Ücretsiz bir deneme lisansı almak için tek yapmanız gereken e-posta adresinizi girmek.

Sonuç

En güçlü gerçek zamanlı veri işleme ve dinamik belge oluşturma çözümlerinden biri, deepstream.io ve IronPDF'nin kombinasyonu ile elde edilir. deepstream.io değişiklikleri senkronize eder ve tüm etkinlikleri gerçek zamanlı olarak kaydeder, bu nedenle herhangi bir veri değişikliğine hemen tepki verebilir. IronPDF, anında profesyonel belgeler oluşturmak için sağlam bir mekanizma sağlar. Bu entegrasyon, uygulamalarınızın sadece canlı veriler değiştiğinde değil, aynı zamanda bir kullanıcı uygulamanızla etkileşime geçtiğinde otomatik olarak PDF belgeleri oluşturmasını ve işlemesini sağlar.

İster rapor oluşturma, fatura veya başka herhangi bir belge türü olsun, IronPDF ile entegre edilmiş deepstream.io, iş akışı basitleştirmesi, duyarlı belge oluşturma sağlar ve uygulamanızı gerçek zamanlı bilgiye güncel ve ince tutar. Bu ikili, çevik, veri odaklı ve gerçek zamanlı belge üretimi ve yönetim desteği gerektiren uygulamalar için en iyi şekilde çalışır.

Iron Software tarafından sağlanan kütüphaneler, Windows, Android, MAC, Linux gibi çeşitli işletim sistemleri, tarayıcılar ve platformlar için programlar hızlı ve kolay şekilde oluşturmamızı sağlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara