VOLEJTE 725 517 597

Skeleton Software Facebooku 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_person

Projektový manažer/koordinátor

Více informací

Vyjádření našich klientů

It was a great to work with Skeleton Software. They were always so available and efficient!
The app had everything we needed to make this last edition of Olhar de Cinema better and bigger. We had great download numbers and really help us reduce the number of printed programmes. Audience loved it! We had an amazing feedback from them!

Olhar de Cinema - Curitiba
Eugenia Castello

Více citací

Facebook

Úvod | Služby | Produkty | Reference | Kontakty | Přihlásit |

 Zpracování osobních údajů

Copyright © 2019 Skeleton Software s.r.o. | Všechna práva vyhrazena.