Přehled ASP.NET Core SignalR

Co je SignalR?

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

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 servery (RPC). Rpcs volají funkce na klientech z kódu .NET Core na straně serveru. Existuje několik podporovaných platforem, z nichž každá má příslušnou klientskou sadu SDK. Z tohoto důvodu se programovací jazyk vyvolaný voláním RPC liší.

Tady jsou některé funkce SignalR ASP.NET Core:

  • Zpracovává správu připojení automaticky.
  • 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ádla rostoucí provoz.
  • SignalR Protokol centra

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í řádné náhradní komunikace):

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

Rozbočovače

SignalR používá rozbočovače ke komunikaci mezi klienty a servery.

Centrum je kanál vysoké úrovně, který klientovi a serveru umožňuje navzájem volat metody. SignalR zpracovává odesílání přes hranice počítače automaticky, což klientům umožňuje volat metody na serveru a naopak. Parametry silného typu můžete předat metodám, které umožňují vazbu modelu. SignalR poskytuje dva integrované protokoly centra: textový protokol založený na formátu JSON a binární protokol založený na messagepacku. MessagePack obvykle vytváří menší zprávy ve srovnání s JSON. Starší prohlížeče musí podporovat XHR úroveň 2 pro zajištění podpory protokolu MessagePack.

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í shodovat s názvem metody v kódu na straně klienta. Když klient najde shodu, zavolá metodu a předá do ní deserializovaná data parametru.

Prohlížeče, které nepodporují ECMAScript 6 (ES6)

SignalR cílí na ES6. U prohlížečů, které nepodporují ES6, překompilujte knihovnu na ES5. Další informace naleznete v tématu Začínáme s ES6 – Transpilování ES6 do ES5 pomocí Traceur a Babel.

Další materiály