Distributed Data Protocol или DDP (протокол распределенных данных) - протокол клиент-серверного взаимодействия, созданный для использования инфраструктурой JavaScript веб-платформы Meteor и использующий в качестве обмена сообщениями шаблон «издатель — подписчик».
Спецификация DDP находится в открытом доступе на GitHub[1]
connect
.connect
, клиенту отправляется сообщение connected
.failed
с указанием поддерживаемой версией протокола DDP.В любое время после установки соединения одна из сторон может отправить сообщение ping
. Получив сообщение, вторая сторона должна ответить pong
.
sub
, содержащее интересующую его информацию.sub
) сервер может отправить клиенту данные с одним из трех типов:
added
означает, что данные были добавлены.changed
показывает, что некоторые поля были изменены, или удалены.removed
- данные были удаленыmethod
с названием процедуры и параметрамиresult
, содержащее результат выполнения процедуры или описание ошибки.updated
с указанием id
измененных данных.Стандартным способом передачи данных через DDP является передача EJSON через веб-сокеты. Вторым вариантом является использование Long Poll.
В случае, если браузер не поддерживает веб-сокеты, передача данных будет осуществляться с использованием Long Poll.