VOLEJTE 725 517 597

Skeleton Software Facebooku Skeleton Software na Google+ Skeleton Software na Twitteru Skeleton Software na LinkedIn

SignalR

Blog - Xamarin

Popis a možnoti využití knihovny SignalR. Včetně ukázky a zdrojových kódů webového chatu.

10. dubna 2017 Nikolas Diesl

SignalR je ASP.NET knihovna, která je abstrakcí nad různými technologiemi, které umožňují provozovat real-time webové aplikace. Využití SignalR knihovny je pak různorodé. Od chatů, přes burzy a počítačové hry až třeba k tomu, aby sloužila jen jako alternativa k tzv. Long Pollingu.

Technologie, které SignalR zapouzdřuje jsou:

  • Websocket
  • Server Side Events
  • Forever Frame
  • Long Polling

Výběr technologie závisí na klientovi a serveru, na kterém běží. Dá se však využít i vynucení výčtem povolených technologií, při vytváření spojení mezi klientem a serverem.

SignalR disponuje technologií RPC (Remote Procedure Calls), kdy dokáže ze serveru volat klientskou metodu a z klientského prostředí zase tu serverovou. Zjednodušeně stačí, aby se funkce (potažmo metody) jmenovaly stejně a měly stejné parametry.

SignalR - diagram

Spojení mezi klientem a serverem se provádí přes huby. V rámci jednoho hubu lze pak vytvářet i skupiny. Díky tomu je možné posílat zprávy jen určité skupině připojených klientů. Vytvoření hubu je podpořeno dvojící komunikačních modelů. Jedná se o PersistentConnection a Hub. PersistentConnection je low-level komunikační protokol, který dává možnost říct přesně jakou zprávu bude obsahovat paket. Pokud ovšem toto nechcete řešit, tak je lepší použít Hub, který si tyto low-level záležitosti řeší sám.

Komunikace mezi klientem a serverem se dá velice snadno monitorovat – pomocí logování do EventVieweru, textového logu nebo konzole prohlížeče. Stačí toto nastavení doplnit do web.configu webové aplikace. Samozřejmě se dá komunikace sledovat i pomocí nástrojů jako je například Fiddler.

Používat SignalR u webových aplikací přináší několik výhod:

  • Nemusíte se učit různé technologie, ale stačí se učit jednu.
  • Nemusíte se starat o změny v jednotlivých technologiích
  • Větší podpora v prohlížečích
  • Zvládne spravovat více než milion uživatelů naráz

Mimo výše zmíněné výhody je dobré si říci, že lze vytvářet společný backend pro mobilní a webové aplikace.

Zdroje (a užitečné odkazy):

Ukázková aplikace

Příklad demonstruje možnosti SignalR na vytvoření jednoduché webové chatovací místnosti. V okamžiku kdy některý z návštěvníků místnosti napíše zprávu, tak se tato okamžitě zobrazí všem ostatním návštěvníkům místnosti.

Stáhnout zdrojové kódy (5 MB)

Nabídka práce

job_mobile

.NET programátor mobilních aplikací

Více informací

Vyjádření našich klientů

Firmu Skeleton můžeme vřele doporučit. Vstřícné jednání, profesionální přístup, a ochota plnit specifické požadavky vedla k úspěšnému odstartování našeho projektu. Děkujeme.

SPAK Foods s.r.o.
Romana Sallerová - obchodní oddělení

Více citací

Facebook

Úvod | Služby | Produkty | Reference | Kontakty | Přihlásit
Copyright © 2017 Skeleton Software s.r.o. | Všechna práva vyhrazena.