Sobes.tech
Senior

Aké sú vlastnosti protokolu DDP?

sobes.tech AI

Odpoveď od AI

DDP (Protokol distribuovaných dát) je protokol používaný v Meteor (framework pre vývoj webových a mobilných aplikácií) na komunikáciu medzi klientom a serverom.

Hlavné vlastnosti:

  • Publikovanie/Predplatné: Server "publikuje" dáta (kolekcie dokumentov), a klienti sa "predplácajú" na publikácie, ktoré ich zaujímajú. Pri zmenách dát na serveri sú automaticky odosielané všetkým predplatiteľom.
  • V reálnom čase: Zmeny dát sa prenášajú okamžite, zabezpečujúc aktuálnosť informácií na klientovi.
  • Vzdialené volania procedúr (RPC): Klienti môžu volať metódy na serveri na vykonanie špecifických akcií.
  • Idempotentnosť volaní: Opakovanie rovnakého volania s rovnakými argumentmi ne spôsobí neželané vedľajšie účinky (pre väčšinu štandardných metód).
  • Transport: Zvyčajne sa používa WebSocket pre trvalé obojsmerné spojenie, ale môže fallback-ovať na HTTP.
  • Dáta: Prenos dát prebieha vo formáte JSON.
  • Odosielanie dát iba v prípade potreby: Server odosiela klientovi iba tie dáta, na ktoré je prihlásený, a iba pri ich zmene.
  • Práca offline: Meteor umožňuje klientom dočasne ukladať zmeny v dátach lokálne a synchronizovať ich so serverom pri obnovení spojenia.
// Príklad publikácie na serveri (Node.js)
Meteor.publish('myCollection', function() {
  return MyCollection.find({}); // Publikuje všetky dokumenty z kolekcie
});

// Príklad odberu na klientovi (JavaScript)
Meteor.subscribe('myCollection');
// Príklad volania metódy na klientovi (JavaScript)
Meteor.call('addDocument', { name: 'Nový dokument' }, function(error, result) {
  if (error) {
    console.error("Chyba pri pridávaní dokumentu:", error);
  } else {
    console.log("Dokument úspešne pridaný:", result);
  }
});

// Príklad implementácie metódy na serveri (Node.js)
Meteor.methods({
  addDocument: function(doc) {
    // Validácia a vloženie dokumentu
    return MyCollection.insert(doc);
  }
});