1.0.8 • Published 4 months ago

zpusher-client v1.0.8

Weekly downloads
-
License
ISC
Repository
-
Last release
4 months ago

ZPusher

WebSocket клиент для ZPusher server

Полноценный пример использования находится в папке example

Установка

npm i zpusher-client --save

Браузер

<script src="./path-to-package/dist/zpusher.js"></script>

API

Методы

Синтаксис: ZPusher.method

  • constructor - Создание нового объекта Pusher

    Использование:

      const Pusher = new ZPusher({token, endpoint});

    Возвращаемое значение: Pusher Object

    Параметры:

    НаименованиеТипОбязательностьЗначение по умолчаниюОписание
    endpointStringДаNullwss URL для подключения к серверу
    tokenStringДаNullAccess Token
    autoconnectBooleanНетtrueНеобходимость запускать подключение в конструкторе
    reconnectBooleanНетtrueАвтоматическое переподключение при разрывах
    reconnectTimeoutIntegerНет30Время таймаута при автоматическом переподключении (сек)
  • connect - Инициализация подключения к серверу

    Использование:

      const Pusher = new ZPusher({token, endpoint, autoconnect: false});
    
      Pusher.connect().then((Event) => {}, (Event) => {});

    Возвращаемое значение: Promise

  • close - Закрывает подключение к серверу

    Использование:

      const Pusher = new ZPusher({token, endpoint, autoconnect: false});
    
      Pusher.connect().then((Event) => {
          Pusher.close()
      }, (Event) => {});

    Возвращаемое значение: Boolean

  • on - Установка слушателя событий объекта Pusher

    Использование:

      const Pusher = new ZPusher({token, endpoint});
    
      Pusher.on('open', Event => {});
      Pusher.on('close', Event => {});
      Pusher.on('error', Event => {});
      Pusher.on('reconnect', Event => {});

    Передаваемое в Callback значение: Event Object

    Параметры:

    НаименованиеТипОбязательностьЗначение по умолчаниюОписание
    eventStringДаNullНаименование события в виде строки
    callbackFunctionДаNullCallback функция
  • subscribe - Подписка на канал

    Использование:

      const Pusher = new ZPusher({token, endpoint});
    
      Pusher.on('open', () => {
          Pusher.subscribe('broadcast').then(onEvent => {
              //Успешная подписка на канал broadcast
          }, () => {
              //Ошибка подписки
          });
      });

    Возвращаемое значение: Promise

    Передаваемое в Resolve значение: ZPusher.onEvent Function

    Параметры:

    НаименованиеТипОбязательностьЗначение по умолчаниюОписание
    channelStringДаNullНаименование канала в виде строки
  • onEvent - Установка слушателя событий WS сообщений с сервера

    Использование:

      import ZPusher from "zpusher";
    
      const Pusher = new ZPusher({token, endpoint});
    
      Pusher.on('open', () => {
          Pusher.subscribe('broadcast').then(onEvent => {
    
              //Допускается как прямое использование вызова onEvent от объекта Pusher: Pusher.onEvent();
              //Так и использование функции onEvent, передаваемой в Promise Resolve
              //Однако, при использовании прямого вызова Pusher.onEvent() необходимо передавать агрументы: название канала, название событи, функция обратного вызова
    
              onEvent('example-first-event', data => {
                  //Получение события example-first-event из канала broadcast
              });
    
              Pusher.onEvent('broadcast', 'example-second-event', data => {
                  //Получение события example-second-event из канала broadcast
              });
          });
      });

    Передаваемое в Callback значение: Object

    Параметры:

    НаименованиеТипОбязательностьЗначение по умолчаниюОписание
    eventStringДаNullНаименование события в виде строки
    callbackFunctionДаNullCallback функция
  • send - Отправка WS события в канал

    Использование:

      import ZPusher from "zpusher";
    
      const Pusher = new ZPusher({token, endpoint});
    
      Pusher.send('example-client-event', 'example-channel', {eventData: 'some-data'});

    Возвращаемое значение: Promise

    Параметры:

    НаименованиеТипОбязательностьЗначение по умолчаниюОписание
    eventStringДаNullНаименование события в виде строки
    channelStringДаNullНаименование канала в виде строки
    dataMixedНетNullДанные для отправки в канал

События

Синтаксис: ZPusher.on(event, callaback)

  • open - Открытие соединения с сервером
  • close - Событие закрытия соединения с сервером
  • error - Ошибка при соединении с сервером
  • reconnect - Попытка переподключения к серверу

Пример использования

Полный пример клиента приведён в папке example

import ZPusher from "zpusher";

const token    = 'your-zpusher-server-access-token';
const endpoint = 'wss://your-zpusher-server-wss-url.ru';
const Pusher   = new ZPusher({endpoint, token});

Pusher.on('open', e => {
    pusher.subscribe('broadcast').then(onEvent => {
        //Успешная подпись на события в канале
        onEvent('example-event', data => {
            //Получение события из соединения
        });
    }, () => {
        //Ошибка подписки    
    });

    pusher.subscribe('some-channel-name').then(onEvent => {
        //Успешная подпись на события в канале
        onEvent('example-channel-event', data => {
            //Получение события из соединения
        });
    }, () => {
        //Ошибка подписки    
    });
});

Pusher.on('reconnect', e => {
    //Попытка восстановления соединения
});

Pusher.on('close', e => {
    //Закрытие соединения
});

Pusher.on('error', e => {
    //Ошибка соединения
});

Как проверить работу клиента:

  • Подключить библиотеку к себе в проект
  • Реализовать пример выше
    • Подключиться к серверу
    • Подписаться на канал (на пример broadcast)
    • Отправить новое push уведомление на сервер
    • Проверить его получение в канал, на который подписались
1.0.8

4 months ago

1.0.2

10 months ago

1.0.7

7 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.1

2 years ago

1.0.0

2 years ago