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);
}
});