Тесты - Репетиторы в Челябинске
Воскресенье, 15.02.2015, 20:02
Репетиторы в Челябинске
Главная | Регистрация | Вход Приветствую Вас Гость
Меню сайта
Репетиторы Челябинска
История
Кутепов Евгений Олегович
Английский язык
Медведева Наталья Дмитриевна
Математика
Кирчатова Юлия Юрьевна
Химия
Саблина Татьяна Владимировна
Химия
Цетвинская Галина Александровна
Наш опрос
Оцените мой сайт
Всего ответов: 12
Статистика


Онлайн всего: 0
Гостей: 0
Пользователей: 0
Форма входа

Руководство по потоковому контроллеру Android V4

  1. Аспекты имен для каналов и групп каналов
  2. Мультиплексирование каналов
  3. Примеры кода мультиплексирования канала
  4. Подписка, указав канал в виде массива
  5. Группы каналов
  6. Вопросы проектирования группы каналов
  7. Примеры кода группы каналов
  8. Определение группы каналов
  9. Добавление каналов в группу каналов
  10. Подписка на группу каналов
  11. Отказ от подписки на группу каналов
  12. Удаление канала из группы каналов
  13. Перечисление всех каналов в группе каналов
  14. Удаление групп каналов по имени

Когда включен через Консоль администратора PubNub функция потокового контроллера предоставляет разработчикам PubNub возможность эффективно подписываться на несколько каналов с помощью мультиплексирования каналов (MXing) и групп каналов.

Аспекты имен для каналов и групп каналов

Названия каналов и групп каналов совместимы с UTF-8. Длина имени ограничена 64, и запрещенные символы в группе каналов:

  • запятая:,
  • косая черта: /
  • обратная косая черта: \
  • период:
  • звездочки: *
  • двоеточие: :

Мультиплексирование каналов

Мультиплексирование каналов позволяет разработчикам подписаться на до 50 каналов (не входящих в группу каналов) через один сокет TCP. На мобильных устройствах легко реализовать пропускную способность сети и экономию энергии аккумулятора, полученную благодаря мультиплексированию каналов.

Примеры кода мультиплексирования канала

Приведенные ниже примеры демонстрируют, как подписаться и отписаться от нескольких каналов одним вызовом. Использование обратных вызовов даст вам возможность узнать, когда ваши операции завершатся успешно или с ошибками.

Подписка, указав канал в виде массива

pubnub.subscribe () .channels (Arrays.asList ("my_channel1", "my_channel2")) // подписаться на каналы информации .execute (); pubnub.unsubscribe () .channels (Arrays.asList ("ch1", "ch2", "ch3")) .channelGroups (Arrays.asList ("cg1", "cg2", "cg3")) .execute ();

Подстановочные знаки позволяют клиенту подписываться на несколько каналов, используя подстановочные знаки. Например, если вы подпишетесь на a. *, Вы получите все сообщения для ab, ac, ax. Часть с подстановочными символами * относится к любой части имени строки канала после точки (.).

Поддерживается 3 уровня (2 точки) подстановочных знаков, например:
а. *
аб *

pubnub.subscribe () .channels (Arrays.asList ("foo. *")) // подписаться на информацию о каналах .execute ();

Группы каналов

Группы каналов позволяют разработчикам PubNub объединять тысячи каналов в группы, которые можно идентифицировать по имени. Затем на эти группы каналов можно подписаться, получая данные из множества внутренних каналов, которые содержит группа каналов.

Вопросы проектирования группы каналов

При создании с группами каналов вы можете создавать неограниченное количество этих групп каналов с уникальным именем, в каждой из которых может быть до 2000 каналов. На один экземпляр PubNub можно подписаться до 10 групп каналов. На приведенной ниже диаграмме изображен этот шаблон проектирования и ограничения по умолчанию:

На приведенной ниже диаграмме изображен этот шаблон проектирования и ограничения по умолчанию:

Например, для приложения группового чата имя группы каналов будет описывать разговор, а имена каналов будут каналами аудитории чата.

Для пользователя rajat: семья, друзья и работа - это имена комнат чата (группы каналов), а каналы - контакты (каналы), ваш дизайн может выглядеть примерно так:

  • раджат: семья: жена
  • раджат: семья: дочь
  • раджат: семья: сын
  • раджат: друзья: панду
  • раджат: друзья: крейг
  • Раджат: друзья: Стивен
  • раджат: работа: панду
  • раджат: работа: Стивен
  • раджат: работа: сергей

Учитывая вышеприведенный шаблон семейства, друзья и работа - это 3 группы каналов, каждая из которых содержит несколько каналов в различных комбинациях, таких как жена, сын, панду, Крейг, Стивен и т. Д.

Аналогично для пользователя alex: mychats - это имя комнаты чата (группа каналов) и общие сообщения о каналах, общее присутствие клавиатуры, общие j-сообщения, общее присутствие j-клавиатуры, общее-m- сообщения и general-m-клавиатура-присутствие, ваш дизайн может выглядеть примерно так:

  • alex: mychats: общие сообщения
  • alex: mychats: общее присутствие клавиатуры
  • alex: mychats: general-j-messages
  • alex: mychats: general-j-клавиатура-присутствие
  • alex: mychats: general-m-messages
  • alex: mychats: general-m-клавиатура-присутствие

Пожалуйста, свяжитесь с [email protected] если вы чувствуете, что этот шаблон проектирования и / или ограничения по умолчанию не будут соответствовать дизайну вашего приложения.

Каждая группа каналов и связанный канал (ы) идентифицируется уникальным именем. Эти имена могут содержать до 64 символов Unicode, за исключением зарезервированных символов:,,:,. , /, *, непечатаемые управляющие символы ASCII и ноль Юникода.

Примеры кода группы каналов

Прежде чем использовать группу каналов, необходимо сначала добавить в нее канал. Каналы могут быть добавлены либо со стороны клиента (мобильный телефон, веб-страница), либо со стороны сервера (Java, Ruby, Python).

Для нашего примера, давайте создадим приложение чата вокруг групп каналов. Каждая группа каналов будет содержать тематические каналы участников группы. Следующие шаги продемонстрируют:

  1. Определение группы каналов
  2. Добавление каналов в группу каналов
  3. Подписка на группу каналов
  4. Отказ от подписки на группу каналов
  5. Получение сообщений о присутствии группы каналов
  6. Удаление каналов из группы каналов
  7. Перечисление всех каналов в группе каналов
  8. Удаление канала из группы каналов

Определение группы каналов

Мы неявно определим группу каналов под названием family.

pubnub.listChannelsForChannelGroup () .channelGroup ("family") .async (новый PNCallback <PNChannelGroupsAllChannelsResult> () {@Override public void onResponse (PNChannelGroupsAllChannelsResult result, состояние PNStatus) {})

Добавление каналов в группу каналов

Мы добавим жену канала в семейство каналов.

pubnub.addChannelsToChannelGroup () .channelGroup (channelGroup) .channels (Arrays.asList ("ouse ")) .async (новый PNCallback <PNChannelGroupsAddChannelResult> () {@Override общедоступная пустота onResponse (PNChannel }atult) PNShannelGroup ()

Продолжая создавать CG, мы добавляем дочерние и дочерние каналы в эту группу каналов.

pubnub.addChannelsToChannelGroup () .channelGroup (channelGroup) .channels (Arrays.asList ("son", "daughter")) .async (новый PNCallback <PNChannelGroupsAddChannelResult> () {@Override public void onResponseRatNatNatNatNatRatNatRatNatRatNatRNR = }});

Подписка на группу каналов

Теперь, когда мы добавили несколько каналов в нашу CG, нам нужно подписаться на нее. Когда поступает сообщение, опубликованное для любого из членов группы каналов, оно поступит через переменную m в обратном вызове сообщения. Переменная c будет содержать имя исходного канала.

pubnub.subscribe () .channelGroups (Arrays.asList (channelGroup)) // подписаться на группы каналов .withTimetoken (1337L) // необязательно, передать отметку времени .withPresence () // также подписаться на связанную информацию о присутствии .execute ();

Отказ от подписки на группу каналов

Чтобы прекратить прием сообщений в группе каналов, необходимо отписаться от группы:

pubnub.unsubscribe () .channelGroups (Arrays.asList (channelGroup)) .execute ();

Чтобы включить получение сообщений о присутствии для CG, просто вызовите метод subscribe () с помощью withPresence ():

pubnub.subscribe () .channelGroups (Arrays.asList ("cg1", "cg2")) // подписаться на группы каналов .withTimetoken (1337L) // необязательно, передать отметку времени .withPresence () // также подписаться на соответствующее присутствие информация .execute ();

Мы узнаем больше об использовании функций PubNub Presence в Присутствие руководство.

Удаление канала из группы каналов

Предположим, что наш сын больше не хочет участвовать в семейном приложении чата, потому что его раздражают комментарии его сестры. Чтобы удалить его канал из группы, мы бы просто вызвали следующий метод:

pubnub.removeChannelsFromChannelGroup () .channelGroup ("family") .channels (Arrays.asList ("son")) .async (новый PNCallback <PNChannelGroupsRemoveChannelResult> () {@Override общедоступный void onResponse {resultCube }RR). );

Если бы у него были разрешения на удаление своей сестры из группы, он, вероятно, просто сделал бы это вместо этого, но если бы PAM был реализован, мы могли бы сделать так, чтобы у него были только разрешения либо добавлять, либо удалять себя в группу, но не добавлять или удалять другие. Мы обсудим PAM более подробно в PAM, SSL и AES256 Шифрование сообщений руководство.

Перечисление всех каналов в группе каналов

Чтобы получить список всех каналов, определенных в группе каналов, вызовите следующий метод. В этом примере мы сбрасываем все каналы в rajat: family:

pubnub.listChannelsForChannelGroup () .channelGroup ("family") .async (новый PNCallback <PNChannelGroupsAllChannelsResult> () {@Override public void onResponse (PNChannelGroupsAllChannelsResult result, состояние PNStatus) {})

Удаление групп каналов по имени

Чтобы удалить группу каналов по имени, используйте следующий метод:

pubnub.deleteChannelGroup () .channelGroup ("family") .async (новый PNCallback <PNChannelGroupsDeleteGroupResult> () {@Override public void onResponse (результат PNChannelGroupsDeleteGroupResult, статус PNStatus) {}});

Поиск
Новые статьи
14.12.2011
Куда мы катимся?
12.12.2011
Как быть, если у Вас плохая память?
10.12.2011
Профессия - менеджер по туризму
08.12.2011
Обучение русскому языку в школе
06.12.2011
Решение проблемы самооценки младшего школьника
03.12.2011
ЕГЭ, как это есть на самом деле
02.12.2011
Качество образования и воспитания
Друзья сайта
  • chelnews.com
  • mary-usenko.ru
  • mega-cats.ru
  • variety-of-art.ru
  • milyidom.com
  • jilye74.ru
  • kvartira-74.com
  • ural-news.com
  • auto-chaynik.ru
  • REPETITOR-74.RU
  • addsleep.ru
  • news-chel.ru
  • megakoshka.ru
  • YA-JIVU-V-CHELYABINSKE.RU
Копирование материалов - только с гиперссылкой на источник. [email protected] © 2015
Бесплатный хостинг uCoz