Rychlý start: Vysílání zpráv v reálném čase z konzoly aplikace
Ve službě Azure SignalR je k dispozici rozhraní REST API pro podporu scénářů komunikace ze serveru do klienta, jako je například vysílání. Můžete použít libovolný programovací jazyk, který může provádět volání rozhraní REST API. Můžete posílat zprávy do všech připojených klientů, do konkrétního klienta podle názvu nebo skupiny klientů.
V tomto rychlém startu se dozvíte, jak odesílat zprávy z aplikace příkazového řádku do aplikací připojených klientů v jazyce C#.
Požadavky
Toto Rychlé zprovoznění je možné spustit v systémech macOS, Windows nebo Linux.
- Sada .NET Core SDK
- Textový editor nebo editor kódu podle vašeho výběru.
Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.
Přihlášení k Azure
Přihlaste se k webu Azure Portal na adrese https://portal.azure.com/ pomocí svého účtu Azure.
Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.
Vytvoření instance služby Azure SignalR Service
Vaše aplikace se připojí k instanci služby SignalR Service v Azure.
Vyberte tlačítko Nový v levém horním rohu portálu Azure Portal. Do vyhledávacího pole na obrazovce Nový zadejte SignalR Service a stiskněte klávesu Enter.

Ve výsledcích hledání vyberte SignalR Service a pak vyberte Vytvořit.
Zadejte následující nastavení.
Nastavení Navrhovaná hodnota Popis Název prostředku Globálně jedinečný název Název, který identifikuje novou instanci služby SignalR Service. Platné znaky jsou a-z,0-9a-.Předplatné Vaše předplatné Předplatné, ve kterém se nová instance služby SignalR Service vytvoří. Skupina prostředků myResourceGroup Název nové skupiny prostředků, ve které se má instance služby SignalR Service vytvořit. Umístění USA – západ Vyberte oblast , která je blízko vás. Cenová úroveň Free Vyzkoušejte si službu Azure SignalR Service zdarma. Počet jednotek Neuvedeno Počet jednotek určuje, kolik připojení může instance služby SignalR Service přijmout. To lze nakonfigurovat jen na úrovni Standard. Režim služby Bez serveru Pro použití s Azure Functions nebo REST API. 
Pokud chcete začít nasazovat instanci služby SignalR Service, vyberte Vytvořit.
Po nasazení instance ho otevřete na portálu a najděte jeho stránku nastavení. Nastavte režim služby na možnost bez serveru jenom v případě, že používáte službu Azure Signal service prostřednictvím Azure Functions vazby nebo REST API. V opačném případě je ponechte v klasickém nebo výchozím nastavení .
Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.
Klonování ukázkové aplikace
Zatímco se nasazuje služba, přejděme na přípravu kódu. Naklonujte ukázkovou aplikaci z GitHubu, nastavte připojovací řetězec služby SignalR Service a spusťte aplikaci místně.
Otevřete okno terminálu Git. Přejděte do složky, kam chcete klonovat ukázkový projekt.
Ukázkové úložiště naklonujete spuštěním následujícího příkazu. Tento příkaz vytvoří na vašem počítači kopii ukázkové aplikace.
git clone https://github.com/aspnet/AzureSignalR-samples.git
Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.
Sestavení a spuštění ukázky
Tato ukázka je konzolová aplikace, na které vidíte používání služby Azure SignalR. Jsou v ní k dispozici dva režimy:
- Režim serveru: Volání rozhraní REST API služby Azure SignalR pomocí jednoduchých příkazů
- Režim klienta: Připojení ke službě Azure SignalR a přijímání zpráv ze serveru
Můžete také zjistit, jak vygenerovat přístupový token k ověření pomocí služby Azure SignalR.
Vytvoření spustitelného souboru
Jako příklad použijeme macOS osx.10.13-x64. K dispozici jsou reference k vytváření na jiných platformách.
cd AzureSignalR-samples/samples/Serverless/
dotnet publish -c Release -r osx.10.13-x64
Spuštění klienta
cd bin/Release/netcoreapp2.1/osx.10.13-x64/
Serverless client <ClientName> -c "<ConnectionString>" -h <HubName>
Spuštění serveru
cd bin/Release/netcoreapp2.1/osx.10.13-x64/
Serverless server -c "<ConnectionString>" -h <HubName>
Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.
Spuštění ukázky bez publikování
Server nebo klienta můžete také spustit s použitím následujícího příkazu
# Start a server
dotnet run -- server -c "<ConnectionString>" -h <HubName>
# Start a client
dotnet run -- client <ClientName> -c "<ConnectionString>" -h <HubName>
Použití uživatelských tajných kódů při zadání připojovacího řetězce
V kořenovém adresáři vzorku můžete spustit dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>". Potom už nebudete možnost -c "<ConnectionString>" potřebovat.
Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.
Využití
Po spuštění serveru použijte příkaz k odeslání zprávy:
send user <User Id>
send users <User List>
send group <Group Name>
send groups <Group List>
broadcast
Můžete spustit více klientů s různými názvy.
Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.
Integrace se službami třetích stran
Služba Azure SignalR umožňuje v systému integraci služeb třetích stran.
Definice technických specifikací
Následující tabulka uvádí všechny podporované verze rozhraní REST API k datu vydání tohoto článku. U každé verze také najdete definiční soubor.
| Verze | Stav rozhraní API | Dveře | Specifikace |
|---|---|---|---|
1.0-preview |
K dispozici. | 5002 | Swagger |
1.0 |
K dispozici. | Standard | Swagger |
Dostupná rozhraní API pro jednotlivé verze najdete v následujícím seznamu.
| rozhraní API | 1,0 – Preview | 1.0 |
|---|---|---|
| Všesměrové vysílání pro všechny | ✓ | ✓ |
| Všesměrové vysílání do skupiny | ✓ | ✓ |
| Všesměrové vysílání do některých skupin | ✓ (zastaralé) | N / A |
| Odeslat uživateli | ✓ | ✓ |
| Odesílání některým uživatelům | ✓ (zastaralé) | N / A |
| Přidání uživatele do skupiny | N / A |
✓ |
| Odebrání uživatele ze skupiny | N / A |
✓ |
| Kontrolovat existenci uživatele | N / A |
✓ |
| Odebrání uživatele ze všech skupin | N / A |
✓ |
| Odeslat do připojení | N / A |
✓ |
| Přidání připojení ke skupině | N / A |
✓ |
| Odebrání připojení ze skupiny | N / A |
✓ |
| Zavření připojení klienta | N / A |
✓ |
| Service Health | N / A |
✓ |
Všesměrové vysílání pro všechny
| Verze | Metoda HTTP v rozhraní API | Adresa URL požadavku | Text požadavku |
|---|---|---|---|
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> |
Stejný jako výše uvedený |
Všesměrové vysílání do skupiny
| Verze | Metoda HTTP v rozhraní API | Adresa URL požadavku | Text požadavku |
|---|---|---|---|
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> |
Stejný jako výše uvedený |
Odeslání uživateli
| Verze | Metoda HTTP v rozhraní API | Adresa URL požadavku | Text požadavku |
|---|---|---|---|
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> |
Stejný jako výše uvedený |
Přidání uživatele do skupiny
| Verze | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
PUT |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
Odebrání uživatele ze skupiny
| Verze | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
Kontrola existence uživatele ve skupině
| Verze rozhraní API | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
GET |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups/<group-name> |
1.0 |
GET |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
| Stavový kód odpovědi | Description |
|---|---|
200 |
Uživatel existuje |
404 |
Uživatel neexistuje |
Odebrání uživatele ze všech skupin
| Verze rozhraní API | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups |
Odeslání zprávy do připojení
| Verze rozhraní API | Metoda HTTP v rozhraní API | Adresa URL požadavku | Text požadavku |
|---|---|---|---|
1.0 |
POST |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> |
{ "target":"<method-name>", "arguments":[ ... ] } |
Přidání připojení ke skupině
| Verze rozhraní API | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
PUT |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id> |
1.0 |
PUT |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name> |
Odebrání připojení ze skupiny
| Verze rozhraní API | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id> |
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name> |
Zavření připojení klienta
| Verze rozhraní API | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> |
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>?reason=<close-reason> |
Service Health
| Verze rozhraní API | Metoda HTTP v rozhraní API | Adresa URL požadavku |
|---|---|---|
1.0 |
GET |
https://<instance-name>.service.signalr.net/api/v1/health |
| Stavový kód odpovědi | Description |
|---|---|
200 |
Service Good |
5xx |
Chyba služby |
Máte problémy? Vyzkoušejte průvodce odstraňováním potíží nebo nám dejte vědět.
Vyčištění prostředků
Pokud nebudete tuto aplikace nadále používat, odstraňte na základě následujícího postupu všechny prostředky vytvořené podle tohoto rychlého startu, aby se vám neúčtovaly žádné poplatky:
Úplně nalevo na webu Azure Portal vyberte Skupiny prostředků a pak vyberte skupinu prostředků, kterou jste vytvořili. Případně můžete použít vyhledávací pole a skupinu prostředků vyhledat podle jejího názvu.
V okně, které se otevře, vyberte příslušnou skupinu prostředků a pak klikněte na Odstranit skupinu prostředků.
V novém okně zadejte název skupiny prostředků, kterou chcete odstranit, a pak klikněte na Odstranit.
Máte problémy? Vyzkoušejte průvodce odstraňováním potíží nebo nám dejte vědět.
Další kroky
V tomto rychlém startu jste zjistili, jak pomocí REST API vysílat zprávy v reálném čase z SignalR Service klientům. Dále se dozvíte, jak vyvíjet a nasazovat Azure Functions s SignalR Service vazby, která je postavená na REST API.