Поделиться через


Клиентская библиотека службы Azure Web PubSub для Java

Служба Azure Web PubSub — это управляемая Azure служба, которая помогает разработчикам легко создавать веб-приложения с функциями реального времени и шаблоном подписки на публикацию. Любой сценарий, требующий обмена сообщениями публикации и подписки в режиме реального времени между сервером и клиентами или среди клиентов, может использовать службу Azure Web PubSub. Традиционные функции в режиме реального времени, которые часто требуют опроса с сервера или отправки HTTP-запросов, также могут использовать службу Azure Web PubSub.

В этой статье описывается клиентская библиотека службы Azure Web PubSub.

Эту библиотеку можно использовать в серверном приложении для управления клиентскими подключениями WebSocket, как показано на этой схеме:

The overflow diagram shows the overflow of using the service client library.

Используйте эту библиотеку для:

  • Отправка сообщений в концентраторы и группы.
  • отправка сообщений определенным пользователям и подключениям;
  • Группировка пользователей и подключений.
  • Закрытие подключений.
  • Предоставление, отмена и проверка разрешений для существующего подключения.

Дополнительные сведения см. в разделе:

Приступая к работе

Необходимые компоненты

Включение пакета

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-webpubsub</artifactId>
    <version>1.0.0</version>
</dependency>

WebPubSubServiceClient Создание строка подключения с помощью

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .connectionString("{connection-string}")
    .hub("chat")
    .buildClient();

WebPubSubServiceClient Создание ключа доступа с помощью

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .credential(new AzureKeyCredential("{access-key}"))
    .endpoint("<Insert endpoint from Azure Portal>")
    .hub("chat")
    .buildClient();

Примеры

Широковещательное сообщение для всего центра

webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);

Широковещательное сообщение для группы

webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);

Отправка сообщения в ответ на подключение

webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);

Отправка сообщения пользователю

webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);

Устранение неполадок

Включение ведения журнала клиента

Вы можете настроить переменную среды AZURE_LOG_LEVEL, чтобы просматривать инструкции записи в журнал, выполненные в клиентской библиотеке. Например, если указать значение AZURE_LOG_LEVEL=2, будут отображаться все информационные сообщения журнала, а также сообщения журнала с предупреждениями и ошибками. Уровни журнала см. по этой ссылке: уровни журнала.

Клиент HTTP, используемый по умолчанию

Все клиентские библиотеки по умолчанию используют клиент Netty HTTP. При добавлении указанной выше зависимости клиентская библиотека будет автоматически настроена для использования HTTP-клиента NETTY. Настройка или изменение HTTP-клиента описывается в вики-сайте HTTP-клиентов.

Библиотека SSL, используемая по умолчанию

По умолчанию все клиентские библиотеки используют библиотеку SSL tomcat-native Boring для обеспечения производительности на уровне машинного уровня для операций SSL. Библиотека SSL Boring — это JAR-файл uber, содержащий собственные библиотеки для ОС Linux, macOS и Windows и повышающий производительность по сравнению с применяемой по умолчанию реализацией SSL в пакете JDK. Дополнительные сведения, включая уменьшение размера зависимостей, см. в разделе [настройка производительности][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Используйте эти ресурсы для начала создания собственного приложения: