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_web

.NET programátor webových aplikací

Více informací

Vyjádření našich klientů

Skeleton Software nám doporučil náš obchodní partner. Pro nadnárodní společnost jsme hledali full service řešení (online systém, administrace, webové stránky). Řešení plně odpovídá zadání - správa desítek tisíc uživatelů v každé zemi. Oceňujeme profesionalitu, rychlost a kvalitu vývoje. S aplikací Task Request jsme měli přehled o stavu prací a mohli tak lépe plánovat a šetřit čas.
Se Skeleton Software počítáme i pro další spolupráci.

InsightLab, s.r.o.
Michal Ševera

Více citací

Facebook

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