SignalR je integrovaná klient-server knižnica, ktorá umožňuje klientom založeným na prehliadači a serverovým komponentom založeným na ASP.NET viesť obojsmerné viacstupňové konverzácie. Inými slovami, konverzácia umožňuje jednu bezstavovú výmenu údajov o požiadavke/odpovedi bez obmedzení; Bude pokračovať, kým nebude výslovne uzavretá. Konverzácia prebieha cez trvalé pripojenie, čo umožňuje klientovi posielať viacero správ serveru a serveru odpovedať podľa toho, a najmä tiež umožňuje serveru posielať asynchrónne správy klientovi. Je podobný AJaxu a je založený na existujúcej technológii. sama o sebe je komplex. Vo všeobecnosti SignalR používa dlhé pollovanie Javascrip{filtering}t na dosiahnutie komunikácie na strane klienta. Po zavedení WebSockets podporoval SignalR aj komunikáciu cez WebSockets. Samozrejme, SignalR tiež využíva technológiu paralelného spracovania úloh na strane servera na zlepšenie škálovateľnosti servera. Zameriava sa na celú platformu .NET Framework, nie je obmedzený len na hostovanie aplikácií a je tiež multiplatformovým open source projektom, podporujúcim Mono 2.10+, čo z neho robí alternatívnu implementačnú možnosť pre webové API, ale je oveľa lepší ako webové API od ASP.NET MVC, pokiaľ ide o serverové online spracovanie, a čo je dôležitejšie, dá sa používať na Web Forms. Vyššie je demo tutoriál:
Server, ktorý používame pre websocket, je Signalr, a potom používame owin a hostujeme ho na konzole!!!
Celý názov OWIN je Open Web Interface pre .NET.
Ak vyvodíme len z názvu, môžeme získať tieto informácie: OWIN je otvorené webové rozhranie pre .NET platformu.
Kto je teda rozhranie medzi webovým rozhraním? Je to rozhranie medzi webovou aplikáciou a webovým serverom a OWIN je rozhranie medzi .NET webovou aplikáciou a webovým serverom.
Prečo potrebujete takéto rozhranie? Pretože. NET webová aplikácia beží na webovom serveri a .NET webová aplikácia musí prijímať požiadavky používateľa cez webový server a posielať obsah odpovede používateľovi cez webový server. Bez takéhoto rozhrania by webová aplikácia .NET závisela od konkrétneho webového servera, na ktorom bežala, napríklad ASP.NET aplikácia by závisela od IIS. Pri tomto rozhraní ASP.NET aplikácia potrebuje spoliehať len na toto abstraktné rozhranie a nezaujíma ju webový server, ktorý beží.
Preto je úlohou OWIN oddeliť rozhranie zavedením súboru abstraktných rozhraní. NET webová aplikácia a webový server, opäť ukazujúc dôležitosť rozhraní. V softvérovom vývoji je každé oddelenie veľkým krokom vpred. Otvorili sme ho v troch rôznych prehliadačoch a mali sme URL protokolu WebSocket.
Prvý prehliadač: Zaregistrujeme používateľa pomocou test3 s heslom 123 a prihlásime sa.
Druhý prehliadač: Používame administrátorský účet na prihlásenie.
Tretí prehliadač: Žiadne prihlásenie, turistický status.
Zistili sme, že prihlásené účty môžu byť použité na odosielanie správ a potom môžu správy prijímať aj iní používatelia (turisti môžu tiež prijímať správy)
Pošlite správu a automaticky zobrazte prezývku druhej osoby, ale nie prihlásený účet.
Nakoniec priložme zdrojový kód:
Zdrojový kód webu:
Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím. Odpoveď
Zdrojový kód servera Signalr:
Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím. Odpoveď
|