SignalR is een geïntegreerde client-server bibliotheek die browsergebaseerde clients en ASP.NET-gebaseerde servercomponenten in staat stelt om tweerichtingsgesprekken met meerdere stappen te voeren. Met andere woorden, het gesprek maakt een enkele stateless request/response-data-uitwisseling mogelijk zonder beperkingen; Het zal doorgaan totdat het expliciet wordt gesloten. Het gesprek vindt plaats via een permanente verbinding, waardoor de client meerdere berichten naar de server kan sturen en de server dienovereenkomstig kan antwoorden, en opmerkelijk genoeg ook de server in staat stelt asynchrone berichten naar de client te sturen. Het lijkt op AJax en is gebaseerd op bestaande technologie. Zelf is een complex. In het algemeen gebruikt SignalR lange polling van Javascrip{filtering}t om client-side communicatie te bereiken. Na de komst van WebSockets ondersteunde SignalR ook WebSockets-communicatie. Natuurlijk gebruikt SignalR ook server-side task parallel processing-technologie om de schaalbaarheid van servers te verbeteren. Het richt zich op het gehele .NET Framework-platform, beperkt zich niet tot het hosten van applicaties, en het is ook een cross-platform open source project dat Mono 2.10+ ondersteunt, wat het een alternatieve implementatieoptie maakt voor web-API's, maar het is veel beter dan ASP.NET MVC's Web API wat betreft server-side online verwerking, en belangrijker nog, het kan worden gebruikt op Web Forms. Hierboven staat de demotutorial:
De server die we gebruiken voor websocket is Signalr, en dan gebruiken we owin en hosten we het op de console!!!
De volledige naam van OWIN is Open Web Interface for .NET.
Als we alleen uit de naam aflezen, kunnen we deze informatie krijgen: OWIN is een open webinterface voor het .NET-platform.
Dus wie is de interface tussen de webinterface? Het is de interface tussen de webapplicatie en de webserver, en OWIN is de interface tussen de .NET-webapplicatie en de webserver.
Waarom heb je zo'n interface nodig? Omdat. De NET-webapplicatie draait op een webserver, en de .NET-webapplicatie moet het verzoek van de gebruiker via de webserver ontvangen en de antwoordinhoud via de webserver naar de gebruiker sturen. Zonder zo'n interface zou de .NET-webapplicatie afhankelijk zijn van de specifieke webserver die het draaide, bijvoorbeeld ASP.NET de applicatie afhankelijk zou zijn van IIS. Met deze interface hoeft ASP.NET applicatie alleen op deze abstracte interface te vertrouwen en geeft ze niet om de webserver die ze draait.
Daarom is de rol van OWIN om te ontkoppelen door een set abstracte interfaces te introduceren. NET-webapplicatie en webserver, wat opnieuw het belang van interfaces aantoont. In softwareontwikkeling is elke loskoppeling een grote stap vooruit. We openden het met 3 verschillende browsers, en we hadden de URL van het WebSocket-protocol.
Eerste browser: We registreren een gebruiker bij test3 met een wachtwoord van 123 en loggen in.
De tweede browser: We gebruiken het admin-account om in te loggen.
Derde browser: Geen login, toeristenstatus.
We ontdekten dat ingelogde accounts kunnen worden gebruikt om berichten te verzenden, en dat andere gebruikers berichten kunnen ontvangen (toeristen kunnen ook berichten ontvangen).
Stuur een bericht en toon automatisch de bijnaam van de ander, maar niet het ingelogde account.
Laten we tot slot de broncode bijvoegen:
Webbroncode:
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
Signalr-serverbroncode:
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
|