SignalR on integreeritud kliendi-serveri teek, mis võimaldab brauseripõhistel klientidel ja ASP.NET-põhistel serverikomponentidel pidada kahepoolseid mitmeastmelisi vestlusi. Teisisõnu, vestlus võimaldab ühte olekuta päringu/vastuse andmevahetust ilma piiranguteta; See jätkub seni, kuni see on selgesõnaliselt suletud. Vestlus toimub püsiva ühenduse kaudu, võimaldades kliendil saata serverile mitu sõnumit ja serveril vastata, ning märkimisväärselt võimaldab serveril saata kliendile asünkroonseid sõnumeid. See on sarnane AJaxile ja põhineb olemasoleval tehnoloogial. Ise on kompleks. Üldiselt kasutab SignalR pikka Javascrip{filtering}t päringut, et saavutada kliendipoolne suhtlus. Pärast WebSocketide tulekut toetas SignalR ka WebSocketide suhtlust. Loomulikult kasutab SignalR ka serveripoolset ülesannete paralleeltöötlustehnoloogiat, et parandada serveri skaleeritavust. See on suunatud kogu .NET Framework platvormile, ei piirdu ainult rakenduste majutamisega ning on ka platvormideülene avatud lähtekoodiga projekt, mis toetab Mono 2.10+ versiooni, mis teeb sellest alternatiivse rakendusvõimaluse veebipõhiste API-de jaoks, kuid serveripoolse veebitöötluse osas on see palju parem kui ASP.NET MVC veebipõhine API, ja mis veelgi olulisem, seda saab kasutada ka veebivormidel. Ülal on demo õpetus:
Websocketi server, mida kasutame, on Signalr, siis kasutame Owin'i ja hosteerime seda konsoolil!!!
OWIN-i täisnimi on Open Web Interface for .NET.
Kui parsida ainult nime põhjal, saame järgmise info: OWIN on avatud veebiliides .NET platvormile.
Kes siis on liides veebiliidese vahel? See on liides veebirakenduse ja veebiserveri vahel ning OWIN on liides .NET veebirakenduse ja veebiserveri vahel.
Miks sul sellist liidest vaja on? Sest. NET veebirakendus töötab veebiserveris ning .NET veebirakendus peab saama kasutaja päringu veebiserveri kaudu ja saatma vastuse sisu kasutajale veebiserveri kaudu. Ilma sellise liideseta sõltuks .NET veebirakendus näiteks konkreetsest veebiserverist, ASP.NET rakendus sõltuks IIS-ist. Selle liidese puhul peab ASP.NET rakendus toetuma ainult sellele abstraktsele liidesele ega hooli veebiserverist, mida ta töötab.
Seetõttu on OWIN-i roll lahutada, tuues sisse hulga abstraktseid liideseid. NET veebirakendus ja veebiserver, mis näitab taas liideste tähtsust. Tarkvaraarenduses on iga lahutamine suur samm edasi. Avasime selle kolme erineva brauseriga ja meil oli WebSocket protokolli URL.
Esimene brauser: Registreerime kasutaja test3-ga parooliga 123 ja logime sisse.
Teine brauser: Kasutame administraatori kontot sisselogimiseks.
Kolmas brauser: Sisselogimist pole, turististaatus.
Leidsime, et sisse logitud kontosid saab kasutada sõnumite saatmiseks ning teised kasutajad saavad sõnumeid vastu võtta (turistid saavad samuti sõnumeid)
Saada sõnum ja kuvatakse automaatselt teise inimese hüüdnimi, aga mitte sisselogitud konto.
Lõpuks lisame lähtekoodi:
Veebi lähtekood:
Turistid, kui soovite näha selle postituse peidetud sisu, palun Vastuse
Signalr serveri lähtekood:
Turistid, kui soovite näha selle postituse peidetud sisu, palun Vastuse
|