Schnellstart: Senden von Nachrichten in Echtzeit aus einer Konsolen-AppQuickstart: Broadcast real-time messages from console app

Der Azure SignalR-Dienst stellt die REST API zur Verfügung, um Kommunikationsszenarien zwischen Servern und Clients (z.B. Broadcasting) zu unterstützen.Azure SignalR Service provides REST API to support server to client communication scenarios, such as broadcasting. Sie können jede beliebige Programmiersprache auswählen, die die REST-API aufrufen kann.You can choose any programming language that can make REST API call. Sie können Nachrichten an alle verbundenen Clients, an einen bestimmten Client anhand seines Namens oder an eine Gruppe von Clients übermitteln.You can post messages to all connected clients, a specific client by name, or a group of clients.

In diesem Schnellstart erfahren Sie, wie Sie Nachrichten aus einer Befehlszeilenanwendung an verbundene Clientanwendungen in C# senden können.In this quickstart, you will learn how to send messages from a command-line app to connected client apps in C#.

VoraussetzungenPrerequisites

Dieser Schnellstart kann unter MacOS, Windows oder Linux ausgeführt werden.This quickstart can be run on macOS, Windows, or Linux.

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

Anmelden bei AzureSign in to Azure

Melden Sie sich unter https://portal.azure.com/ mit Ihrem Azure-Konto beim Azure-Portal an.Sign in to the Azure portal at https://portal.azure.com/ with your Azure account.

Erstellen einer Instanz des Azure SignalR-DienstsCreate an Azure SignalR Service instance

Ihre Anwendung stellt eine Verbindung mit einer Instanz des SignalR-Diensts in Azure her.Your application will connect to a SignalR Service instance in Azure.

  1. Klicken Sie in der linken oberen Ecke des Azure-Portals auf die Schaltfläche „Neu“.Select the New button found on the upper left-hand corner of the Azure portal. Geben Sie im Bildschirm „Neu“ die Angabe SignalR-Dienst in das Suchfeld ein, und drücken Sie die EINGABETASTE.In the New screen, type SignalR Service in the search box and press enter.

    Suchen nach SignalR-Dienst

  2. Wählen Sie SignalR-Dienst aus den Suchergebnissen aus, und wählen Sie dann Erstellen aus.Select SignalR Service from the search results, then select Create.

  3. Geben Sie folgende Einstellungen ein.Enter the following settings.

    EinstellungSetting Vorgeschlagener WertSuggested value BESCHREIBUNGDescription
    RessourcennameResource name Global eindeutiger NameGlobally unique name Der Name, der die neue Instanz des SignalR -Diensts identifiziert.Name that identifies your new SignalR Service instance. Gültige Zeichen sind a-z, 0-9 und -.Valid characters are a-z, 0-9, and -.
    AbonnementSubscription Ihr AbonnementYour subscription Das Abonnement, unter dem diese neue Instanz des SignalR-Diensts erstellt wird.The subscription under which this new SignalR Service instance is created.
    RessourcengruppeResource Group myResourceGroupmyResourceGroup Der Name für die neue Ressourcengruppe, in der Ihre Instanz des SignalR-Diensts erstellt werden soll.Name for the new resource group in which to create your SignalR Service instance.
    LocationLocation USA (Westen)West US Wählen Sie eine Region in Ihrer Nähe aus.Choose a region near you.
    PreisstufePricing tier KostenlosFree Testen Sie den Azure SignalR-Dienst kostenlos.Try Azure SignalR Service for free.
    EinheitenanzahlUnit count Nicht verfügbarNot applicable Die Einheitenanzahl gibt an, wie viele Verbindungen Ihre Instanz des SignalR-Diensts akzeptieren kann.Unit count specifies how many connections your SignalR Service instance can accept. Dies kann nur im Tarif „Standard“ konfiguriert werden.It is only configurable in the Standard tier.
    DienstmodusService mode ServerlosServerless Zur Verwendung mit Azure Functions oder der REST-API.For use with Azure Functions or REST API.

    Erstellen des SignalR-Diensts

  4. Wählen Sie Erstellen aus, um mit der Bereitstellung der Instanz des SignalR-Diensts zu beginnen.Select Create to start deploying the SignalR Service instance.

  5. Nachdem die Instanz bereitgestellt wurde, öffnen Sie sie im Portal, und navigieren Sie zur Seite „Einstellungen“.After the instance is deployed, open it in the portal and locate its Settings page. Ändern Sie die Einstellung des Dienstmodus nur dann in Serverlos, wenn Sie Azure SignalR Service über eine Azure Functions-Bindung oder REST-API verwenden.Change the Service Mode setting to Serverless only if you are using Azure SignalR Service through Azure Functions binding or REST API. Behalten Sie andernfalls die Einstellung Klassisch oder Standard bei.Leave it in Classic or Default otherwise.

Klonen der BeispielanwendungClone the sample application

Während der Dienst bereitgestellt wird, bereiten wird den Code vor.While the service is deploying, let's switch to prepare the code. Klonen Sie die Beispiel-App von GitHub, legen Sie die Verbindungszeichenfolge des SignalR-Diensts fest, und führen Sie die Anwendung lokal aus.Clone the sample app from GitHub, set the SignalR Service connection string, and run the application locally.

  1. Öffnen Sie ein Git-Terminalfenster.Open a git terminal window. Wechseln Sie in einen Ordner, in dem Sie das Beispielprojekt klonen möchten.Change to a folder where you want to clone the sample project.

  2. Führen Sie den folgenden Befehl aus, um das Beispielrepository zu klonen.Run the following command to clone the sample repository. Dieser Befehl erstellt eine Kopie der Beispiel-App auf Ihrem Computer.This command creates a copy of the sample app on your computer.

    git clone https://github.com/aspnet/AzureSignalR-samples.git
    

Erstellen und Ausführen des BeispielsBuild and run the sample

Dieses Beispiel ist eine Konsolen-App, die die Verwendung des Azure SignalR-Diensts zeigt.This sample is a console app showing the use of Azure SignalR Service. Sie bietet zwei Modi:It provides two modes:

  • Servermodus: Verwenden Sie einfache Befehle zum Aufrufen der REST-API des Azure SignalR-Diensts.Server Mode: use simple commands to call Azure SignalR Service REST API.
  • Clientmodus: Stellen Sie eine Verbindung mit dem Azure SignalR-Dienst her, und empfangen Sie Nachrichten vom Server.Client Mode: connect to Azure SignalR Service and receive messages from server.

Sie können auch herausfinden, wie Sie ein Zugriffstoken zur Authentifizierung mit dem Azure SignalR-Dienst generieren.Also you can find how to generate an access token to authenticate with Azure SignalR Service.

Erstellen der ausführbaren DateiBuild the executable file

Wir verwenden macOS osx.10.13-x64 als Beispiel.We use macOS osx.10.13-x64 as example. Sie können Referenzmaterial zum Buildvorgang auf anderen Plattformen nutzen.You can find reference on how to build on other platforms.

cd AzureSignalR-samples/samples/Serverless/

dotnet publish -c Release -r osx.10.13-x64

Starten Sie einen Client.Start a client

cd bin/Release/netcoreapp2.1/osx.10.13-x64/

Serverless client <ClientName> -c "<ConnectionString>" -h <HubName>

Starten Sie einen Server.Start a server

cd bin/Release/netcoreapp2.1/osx.10.13-x64/

Serverless server -c "<ConnectionString>" -h <HubName>

Führen Sie das Beispiel ohne Veröffentlichung aus.Run the sample without publishing

Sie können auch den folgenden Befehl ausführen, um einen Server oder Client zu starten.You can also run the command below to start a server or client

# Start a server
dotnet run -- server -c "<ConnectionString>" -h <HubName>

# Start a client
dotnet run -- client <ClientName> -c "<ConnectionString>" -h <HubName>

Verwenden von „user-secrets“ zum Angeben der VerbindungszeichenfolgeUse user-secrets to specify Connection String

Sie können dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>" im Stammverzeichnis des Beispiels ausführen.You can run dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>" in the root directory of the sample. Danach benötigen Sie die Option -c "<ConnectionString>" nicht mehr.After that, you don't need the option -c "<ConnectionString>" anymore.

VerwendungUsage

Nachdem der Server gestartet wurde, verwenden Sie den Befehl zum Senden von Nachrichten:After the server started, use the command to send message:

send user <User Id>
send users <User List>
send group <Group Name>
send groups <Group List>
broadcast

Sie können mehrere Clients mit unterschiedlichen Clientnamen starten.You can start multiple clients with different client names.

Integration in Drittanbieterdienste Integration with third-party services

Der Azure SignalR-Dienst ermöglicht die Integration von Drittanbieterdiensten in das System.The Azure SignalR service allows third-party services to integrate with the system.

Definition der technischen SpezifikationenDefinition of technical specifications

Die folgende Tabelle enthält alle Versionen der REST-APIs, die aktuell unterstützt werden.The following table shows all the versions of the REST APIs supported to date. Außerdem finden Sie hier die Zieldatei für die jeweilige Version.You can also find the definition file for each specific version

VersionVersion API-ZustandAPI State TürDoor SpezifischSpecific
1.0-preview VerfügbarAvailable 50025002 SwaggerSwagger
1.0 VerfügbarAvailable StandardStandard SwaggerSwagger

Die folgende Liste enthält die verfügbaren APIs für die jeweilige Version.The list of available APIs for each specific version is available in the following list.

APIAPI 1.0-preview 1.0
Übertragen an alleBroadcast to all
Übertragen an eine GruppeBroadcast to a group
Übertragen an einige GruppenBroadcast to some groups (Veraltet) (Deprecated) N / A
Senden an bestimmte BenutzerSend to specific users
Senden an einige BenutzerSend to some users (Veraltet) (Deprecated) N / A
Hinzufügen eines Benutzers zu einer GruppeAdding a user to a group N / A
Entfernen eines Benutzers aus einer GruppeRemoving a user from a group N / A

Übertragen an alleBroadcast to everyone

VersionVersion API-HTTP-MethodeAPI HTTP Method Anfrage-URLRequest URL AnforderungstextRequest body
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name> Wie obenSame as above

Übertragen an eine GruppeBroadcast to a group

VersionVersion API-HTTP-MethodeAPI HTTP Method Anfrage-URLRequest URL AnforderungstextRequest body
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/group/<group-name> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name> Wie obenSame as above

Senden an bestimmte BenutzerSending to specific users

VersionVersion API-HTTP-MethodeAPI HTTP Method Anfrage-URLRequest URL AnforderungstextRequest body
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/user/<user-id> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id> Wie obenSame as above

Hinzufügen eines Benutzers zu einer GruppeAdding a user to a group

VersionVersion API-HTTP-MethodeAPI HTTP Method Anfrage-URLRequest URL
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<userid>

Entfernen eines Benutzers aus einer GruppeRemoving a user from a group

VersionVersion API-HTTP-MethodeAPI HTTP Method Anfrage-URLRequest URL
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<userid>

Bereinigen von RessourcenClean up resources

Wenn Sie diese App nicht weiter verwenden möchten, löschen Sie alle von diesem Schnellstart erstellten Ressourcen. Führen Sie dazu folgende Schritte durch, damit keine Gebühren anfallen:If you're not going to continue to use this app, delete all resources created by this quickstart with the following steps so you don't incur any charges:

  1. Klicken Sie ganz links im Azure-Portal auf Ressourcengruppen und anschließend auf die erstellte Ressourcengruppe.In the Azure portal, select Resource groups on the far left, and then select the resource group you created. Alternativ können Sie das Suchfeld verwenden, um nach der Ressourcengruppe anhand ihres Namens zu suchen.Alternatively, you may use the search box to find the resource group by its name.

  2. Wählen im Fenster, das geöffnet wird, die Ressourcengruppe aus, und klicken Sie dann auf Ressourcengruppe löschen.In the window that opens, select the resource group, and then click Delete resource group.

  3. Geben Sie in dem neuen Fenster den Namen der zu löschenden Ressourcengruppe ein, und klicken Sie dann auf Löschen.In the new window, type the name of the resource group to delete, and then click Delete.

Nächste SchritteNext steps

In dieser Schnellstartanleitung haben Sie gelernt, wie Sie mithilfe der REST-API eine Echtzeitnachricht von SignalR Service an Clients übertragen.In this quickstart, you learned how to use REST API to broadcast real-time message from SignalR Service to clients. Im nächsten Artikel erfahren Sie mehr über die Entwicklung und Bereitstellung von Azure-Funktionen mit SignalR Service-Bindung auf der Grundlage der REST-API.Next, learn more about how to develop and deploy Azure Functions with SignalR Service binding, which is built on top of REST API.