WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Distributed Data Protocol или DDP (протокол распределенных данных) - протокол клиент-серверного взаимодействия, созданный для использования инфраструктурой JavaScript веб-платформы Meteor и использующий в качестве обмена сообщениями шаблон издатель-подписчик.

Спецификация DDP находится в открытом доступе на GitHub[1]

Основные механизмы протокола

Установка соединения

  • Клиент отправляет сообщение connect.
  • Если сервер поддерживает версию протокола, переданную в сообщении connect, клиенту отправляется сообщение connected.
  • Иначе, сервер отправляет сообщение failed с указанием поддерживаемой версией протокола DDP.

Ping-Pong

В любое время после установки соединения одна из сторон может отправить сообщение ping . Получив сообщение, вторая сторона должна ответить pong .

Работа с данными

  • Клиентское приложение отправляет на сервер сообщение sub , содержащее интересующую его информацию.
  • В любое время (чаще всего ответом на sub ) сервер может отправить клиенту данные с одним из трех типов:
    • added означает, что данные были добавлены.
    • changed показывает, что некоторые поля были изменены, или удалены.
    • removed - данные были удалены

Удаленные вызовы процедур

  • Клиент отправляет на сервер сообщение method с названием процедуры и параметрами
  • Сервер в ответ посылает сообщение result, содержащее результат выполнения процедуры или описание ошибки.
  • Вызов процедуры может влиять на данные, на которые подписаны клиенты. В таком случае, после отправки клиентам результатов выполнения процедуры, сервер должен отправить клиентам сообщение updated с указанием id измененных данных.

Поддерживаемые методы передачи данных

Стандартным способом передачи данных через DDP является передача EJSON через веб-сокеты. Вторым вариантом является использование Long Poll.

В случае, если браузер не поддерживает веб-сокеты, передача данных будет осуществляться с использованием Long Poll.

Примечания

  1. DDP Specification (англ.). — 2016-12-20.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии