Bibliothèque de client Azure Communication Network Traversal pour .NET - version 1.0.0

Azure Communication Network Traversal permet des connexions à bande passante élevée et à faible latence entre homologues pour des scénarios de communication en temps réel et des scénarios de transfert de données en fournissant l’accès aux services STUN et TURN de bas niveau.

| Code sourceDocumentation produit

Prise en main

Installer le package

Installez la bibliothèque de client Azure Communication Network Traversal pour .NET avec NuGet :

dotnet add package Azure.Communication.NetworkTraversal --version 1.0.0

Prérequis

Vous avez besoin d’un abonnement Azure et d’une ressource Communication Service pour utiliser ce package.

Pour créer un service communication, vous pouvez utiliser le portail Azure, le Azure PowerShell ou la bibliothèque de client de gestion .NET.

Authentifier le client

Le client réseau peut être authentifié à l’aide d’une chaîne de connexion acquise à partir d’une ressource de communication Azure dans le portail Azure.

// Get a connection string to our Azure Communication resource.
var connectionString = "<connection_string>";
var client = new CommunicationRelayClient(connectionString);

Vous pouvez également utiliser le point de terminaison et la clé d’accès acquis à partir d’une ressource de communication Azure dans le portail Azure.

var endpoint = new Uri("https://my-resource.communication.azure.com");
var accessKey = "<access_key>";
var client = new CommunicationRelayClient(endpoint, new AzureKeyCredential(accessKey));

Les clients ont également la possibilité de s’authentifier à l’aide d’un jeton Active Directory valide.

var endpoint = new Uri("https://my-resource.communication.azure.com");
TokenCredential tokenCredential = new DefaultAzureCredential();
var client = new CommunicationRelayClient(endpoint, tokenCredential);

Concepts clés

CommunicationRelayClient fournit les fonctionnalités permettant d’obtenir des URL de serveur STUN/TURN et des informations d’identification pour l’accès.

Sécurité des threads

Nous garantissons que toutes les méthodes de instance client sont thread-safe et indépendantes les unes des autres (instructions). Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.

Concepts supplémentaires

Options | du client Accès à la réponse | Opérations | de longue duréeGestion des défaillances | Diagnostics | Moqueur | Durée de vie du client

Exemples

Obtention d’une configuration de relais pour un utilisateur

Response<CommunicationRelayConfiguration> relayConfiguration = await client.GetRelayConfigurationAsync();
DateTimeOffset turnTokenExpiresOn = relayConfiguration.Value.ExpiresOn;
IList<CommunicationIceServer> iceServers = relayConfiguration.Value.IceServers;
Console.WriteLine($"Expires On: {turnTokenExpiresOn}");
foreach (CommunicationIceServer iceServer in iceServers)
{
    foreach (string url in iceServer.Urls)
    {
        Console.WriteLine($"ICE Server Url: {url}");
    }
    Console.WriteLine($"ICE Server Username: {iceServer.Username}");
    Console.WriteLine($"ICE Server Credential: {iceServer.Credential}");
    Console.WriteLine($"ICE Server RouteType: {iceServer.RouteType}");
}

Obtention d’une configuration de relais pour un utilisateur avec un routeType spécifié

Response<CommunicationRelayConfiguration> relayConfiguration = await client.GetRelayConfigurationAsync(user,RouteType.Nearest);
DateTimeOffset turnTokenExpiresOn = relayConfiguration.Value.ExpiresOn;
IList<CommunicationIceServer> iceServers = relayConfiguration.Value.IceServers;
Console.WriteLine($"Expires On: {turnTokenExpiresOn}");
foreach (CommunicationIceServer iceServer in iceServers)
{
    foreach (string url in iceServer.Urls)
    {
        Console.WriteLine($"ICE Server Url: {url}");
    }
    Console.WriteLine($"ICE Server Username: {iceServer.Username}");
    Console.WriteLine($"ICE Server Credential: {iceServer.Credential}");
    Console.WriteLine($"ICE Server Route Type: {iceServer.RouteType}");
}

Dépannage

TODO

Étapes suivantes

TODO

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez cla.microsoft.com.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.