Úvod do ASP.NET Core SignalR

Co je SignalR ?

ASP.NET Core je open source knihovna, která zjednodušuje přidávání webových SignalR funkcí do aplikací v reálném čase. Webové funkce v reálném čase umožňují, aby kód na straně serveru okamžitě předá klientům obsah.

Vhodné kandidáty pro SignalR :

  • Aplikace, které vyžadují aktualizace ze serveru s vysokou frekvencí. Příkladem jsou hry, sociální sítě, hlasování, aukce, mapy a aplikace využívající GPS.
  • Řídicí panely a aplikace pro monitorování. Mezi příklady patří řídicí panely společností, okamžité a aktuální informace o prodeji nebo upozornění pro cestující.
  • Aplikace podporující spolupráci. Příklady aplikací podporujících spolupráci jsou aplikace tabulí a software pro týmové schůzky.
  • Aplikace, které vyžadují oznámení. Oznámení využívají sociální sítě, e-mailové aplikace, chaty, hry, upozornění pro cestující a řada dalších aplikací.

SignalRposkytuje rozhraní API pro vytváření vzdálených volání procedur mezi serverem a klientem (RPC). RpC volají funkce JavaScriptu na klientech z kódu .NET Core na straně serveru.

Tady je několik funkcí SignalR pro ASP.NET Core:

  • Automaticky se stará o správu připojení.
  • Odesílá zprávy všem připojeným klientům současně. Například chatovací místnost.
  • Odesílá zprávy konkrétním klientům nebo skupinám klientů.
  • Škáluje se tak, aby zvládl zvyšující se provoz.

Zdroj je hostovaný v SignalR úložišti na GitHubu.

Přenosy

SignalR podporuje následující techniky pro zpracování komunikace v reálném čase (v pořadí podle elegantního záložního řešení):

  • WebSockets
  • Server-Sent události
  • Dlouhé cyklické dotazování

SignalR automaticky zvolí nejlepší metodu přenosu, která je v rámci možností serveru a klienta.

Centra

SignalR používá centra ke komunikaci mezi klienty a servery.

Centrum je kanál vysoké úrovně, který umožňuje klientovi a serveru volat metody na sebe navzájem. SignalR zpracovává odesílání mezi hranicemi počítačů automaticky a umožňuje klientům volat metody na serveru a naopak. Můžete předat parametry silného typu metodám, které umožňují vazbu modelu. SignalR poskytuje dva integrované protokoly rozbočovače: textový protokol založený na formátu JSON a binární protokol založený na MessagePack. MessagePack obvykle vytváří menší zprávy ve srovnání se JSON. Aby bylo možné poskytovat podporu protokolu MessagePack, starší prohlížeče musí podporovat XHR úrovně 2 .

Centra volají kód na straně klienta odesláním zpráv, které obsahují název a parametry metody na straně klienta. Objekty odeslané jako parametry metody jsou deserializovány pomocí nakonfigurovaného protokolu. Klient se pokusí porovnat název s metodou v kódu na straně klienta. Když klient najde shodu, zavolá metodu a předá jí deserializovaná data parametrů.

Další zdroje informací