SignalR je integrovaná klient-server knihovna, která umožňuje klientům založeným na prohlížeči a serverovým komponentám založeným na ASP.NET vést obousměrné vícestupňové konverzace. Jinými slovy, konverzace umožňuje jedinou bezstavovou výměnu datových dat o požadavcích/odpovědích bez omezení; Bude pokračovat, dokud nebude výslovně uzavřen. Konverzace probíhá přes trvalé spojení, což klientovi umožňuje posílat serveru více zpráv a server odpovídat podle toho, a zejména také umožňuje serveru posílat asynchronní zprávy klientovi. Je podobný AJaxu a je založen na existující technologii. sama o sobě je složitá. Obecně SignalR používá dlouhé dotazování Javascrip{filtering}t k dosažení komunikace na straně klienta. Po zavedení WebSocketů podporoval SignalR také komunikaci přes WebSockets. Samozřejmě SignalR také využívá technologii paralelního zpracování úloh na straně serveru ke zlepšení škálovatelnosti serveru. Cílí na celou platformu .NET Framework, není omezen pouze na hostování aplikací, a je také multiplatformním open source projektem podporujícím Mono 2.10+, což z něj činí alternativní možnost implementace webových API, ale je mnohem lepší než webové API ASP.NET MVC, pokud jde o serverové online zpracování, a co je důležitější, lze jej používat na webových formulářích. Výše je demo tutoriál:
Server, který používáme pro websocket, je Signalr, a pak používáme owin a hostujeme ho na konzoli!!!
Plný název OWIN je Open Web Interface for .NET.
Pokud rozlišujeme pouze z názvu, můžeme získat tuto informaci: OWIN je otevřené webové rozhraní pro platformu .NET.
Kdo tedy je rozhraním mezi webovým rozhraním? Je to rozhraní mezi webovou aplikací a webovým serverem a OWIN je rozhraní mezi webovou aplikací .NET a webovým serverem.
Proč potřebujete takové rozhraní? Protože. NET webová aplikace běží na webovém serveru a .NET webová aplikace musí přijímat uživatelův požadavek přes webový server a odesílat obsah odpovědi uživateli přes webový server. Bez takového rozhraní by webová aplikace .NET závisela na konkrétním webovém serveru, na kterém běžela, například ASP.NET aplikace by závisela na IIS. S tímto rozhraním ASP.NET aplikace musí spoléhat pouze na toto abstraktní rozhraní a nezajímá ji webový server, který provozuje.
Úkolem OWIN je tedy oddělit zavedení sady abstraktních rozhraní. NET webová aplikace a webový server, což opět ukazuje důležitost rozhraní. Ve vývoji softwaru je každé oddělení velkým krokem vpřed. Otevřeli jsme ho ve třech různých prohlížečích a měli jsme URL protokolu WebSocket.
První prohlížeč: Zaregistrujeme uživatele pomocí test3 s heslem 123 a přihlásíme se.
Druhý prohlížeč: K přihlášení používáme administrátorský účet.
Třetí prohlížeč: Žádné přihlášení, turistický status.
Zjistili jsme, že přihlášené účty lze použít k odesílání zpráv a pak mohou zprávy přijímat i ostatní uživatelé (turisté mohou také přijímat zprávy)
Odešli zprávu a automaticky zobrazil přezdívku druhé osoby, ale ne přihlášený účet.
Nakonec přiložme zdrojový kód:
Zdrojový kód webu:
Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosím Odpověď
Zdrojový kód serveru Signalr:
Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosím Odpověď
|