Compartir a través de


Biblioteca cliente del servicio Azure Web PubSub para Java

El servicio Azure Web PubSub es un servicio administrado por Azure que ayuda a los desarrolladores a compilar fácilmente aplicaciones web con características en tiempo real y un patrón de publicación y suscripción. Cualquier escenario que requiera mensajería de publicación y suscripción en tiempo real entre el servidor y los clientes o entre clientes puede usar el servicio Azure Web PubSub. Las características tradicionales en tiempo real que a menudo requieren sondeo desde el servidor o el envío de solicitudes HTTP también pueden usar el servicio Azure Web PubSub.

En este artículo se describe la biblioteca cliente del servicio Azure Web PubSub.

Puede usar esta biblioteca en la aplicación del lado servidor para administrar las conexiones de cliente de WebSocket, como se muestra en este diagrama:

El diagrama de desbordamiento muestra el desbordamiento que supone el uso de la biblioteca cliente del servicio.

Use esta biblioteca para:

  • Enviar mensajes a centros y grupos.
  • Enviar mensajes a usuarios y conexiones concretos.
  • Organice los usuarios y las conexiones en grupos.
  • Cerrar conexiones
  • Concesión, revocación y comprobación de permisos para una conexión existente

Para obtener más información, consulte:

Cómo empezar

Prerrequisitos

Incluir el paquete

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

Crear un WebPubSubServiceClient utilizando una cadena de conexión

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

Crear un WebPubSubServiceClient usando la clave de acceso

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

Examples

Difundir mensaje a todo el centro

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

Difusión de un mensaje a un grupo

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

Envío de un mensaje a una conexión

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

Enviar un mensaje a un usuario

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

Solución de problemas

Habilitación del registro de cliente

Puede establecer la AZURE_LOG_LEVEL variable de entorno para ver las instrucciones de registro realizadas en la biblioteca cliente. Por ejemplo, la configuración AZURE_LOG_LEVEL=2 mostraría todos los mensajes informativos, de advertencia y de registro de errores. Los niveles de registro se pueden encontrar aquí: niveles de registro.

Cliente HTTP predeterminado

Todas las bibliotecas cliente usan el cliente HTTP de Netty de forma predeterminada. Al agregar la dependencia anterior, se configurará automáticamente la biblioteca cliente para usar el cliente HTTP de Netty. La configuración o el cambio del cliente HTTP se describe en la wiki de clientes HTTP.

Biblioteca SSL predeterminada

De forma predeterminada, todas las bibliotecas cliente usan la biblioteca SSL boring nativa de Tomcat para habilitar el rendimiento de nivel nativo para las operaciones SSL. La biblioteca SSL boring es un archivo jar uber que contiene bibliotecas nativas para Linux / macOS / Windows y proporciona un mejor rendimiento en comparación con la implementación SSL predeterminada dentro de JDK. Para obtener más información, incluido cómo reducir el tamaño de dependencia, consulte [optimización del rendimiento][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Use estos recursos para empezar a compilar su propia aplicación: