Úvod do ASP.NET Core SignalR
Co je to SignalR ?
ASP.NET Core SignalR je open source 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žňuje, aby kód na straně serveru nabízel okamžitý obsah klientům.
Dobré 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í.
SignalR poskytuje rozhraní API pro vytváření vzdálených volání procedur (RPC)mezi servery. RPCSS vyvolá 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ší.
Zde jsou některé funkce SignalR pro ASP.NET Core:
- Zpracovává správu připojení automaticky.
- Odesílá současně zprávy všem připojeným klientům. Například chatovací místnost.
- Odesílá zprávy konkrétním klientům nebo skupinám klientů.
- Škálujte na zvýšení provozu.
Zdroj je hostovaný v SignalR úložišti na GitHub.
Přenosy
SignalR podporuje následující techniky pro zpracování komunikace v reálném čase (v pořadí podle řádného použití):
- WebSockets
- Události Server-Sent
- Dlouhé cyklické dotazování
SignalR automaticky zvolí nejlepší přenosovou metodu, která je v rámci schopností 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ů.