SignalR to zintegrowana biblioteka klient-serwer, która umożliwia klientom przeglądarkowym oraz komponentom serwera opartym na ASP.NET prowadzenie dwukierunkowych, wieloetapowych rozmów. Innymi słowy, rozmowa umożliwia pojedynczą, bezstanową wymianę danych z żądaniem/odpowiedzią bez ograniczeń; Będzie kontynuowany, dopóki nie zostanie wyraźnie zamknięty. Rozmowa odbywa się przez stałe połączenie, co pozwala klientowi wysyłać wiele wiadomości do serwera i odpowiadać odpowiednio, a co istotne, umożliwia serwerowi wysyłanie asynchronicznych wiadomości do klienta. Jest podobny do AJax i oparty na istniejącej technologii. sama w sobie jest złożona. Ogólnie rzecz biorąc, SignalR wykorzystuje długie polling Javascrip{filtering}t do komunikacji po stronie klienta. Po pojawieniu się WebSockets, SignalR obsługiwał również komunikację WebSockets. Oczywiście SignalR wykorzystuje także technologię równoległego przetwarzania zadań po stronie serwera, aby poprawić skalowalność serwera. Jest skierowany do całej platformy .NET Framework, nie ogranicza się do hostowania aplikacji, a także jest wieloplatformowym projektem open source, wspierającym Mono 2.10+, co czyni go alternatywną opcją implementacyjną dla Web API, ale pod względem przetwarzania online po stronie serwera jest znacznie lepszy niż Web API MVC ASP.NET, a co ważniejsze, może być używany w Web Forms. Powyżej znajduje się tutorial demonstracyjny:
Serwer, którego używamy do Websocket, to Signalr, a potem używamy owin i hostujemy go na konsoli!!!
Pełna nazwa OWIN to Open Web Interface for .NET.
Jeśli analizujemy tylko nazwę, możemy uzyskać następujące informacje: OWIN to otwarty interfejs webowy dla platformy .NET.
Kim więc jest interfejs między interfejsem webowym? Jest to interfejs między aplikacją webową a serwerem WWW, a OWIN to interfejs między aplikacją .NET a serwerem WWW.
Po co ci taki interfejs? Bo. Aplikacja NET działa na serwerze WWW, a aplikacja .NET musi odbierać żądania użytkownika przez serwer WWW i przesyłać odpowiedź do użytkownika przez serwer WWW. Bez takiego interfejsu aplikacja .NET zależałaby od konkretnego serwera WWW, na przykład ASP.NET aplikacja zależałaby od IIS. Dzięki temu interfejsowi ASP.NET aplikacja musi polegać jedynie na tym abstrakcyjnym interfejsie i nie zwraca uwagi na serwer WWW, na którym działa.
Dlatego rolą OWIN jest oddzielenie się poprzez wprowadzenie zestawu abstrakcyjnych interfejsów. NET i serwer WWW, ponownie pokazując znaczenie interfejsów. W rozwoju oprogramowania każde rozdzielenie to duży krok naprzód. Otworzyliśmy go w trzech różnych przeglądarkach i mieliśmy adres URL protokołu WebSocket.
Pierwsza przeglądarka: Rejestrujemy użytkownika w test3 z hasłem 123 i logujemy się.
Druga przeglądarka: Logujemy się z konta administratora.
Trzecia przeglądarka: brak logowania, status turysty.
Odkryliśmy, że zalogowane konta mogą być używane do wysyłania wiadomości, a inni użytkownicy mogą odbierać wiadomości (turyści również mogą otrzymywać wiadomości)
Wyślij wiadomość i automatycznie pokaż pseudonim drugiej osoby, ale nie konto zalogowane.
Na koniec załączmy kod źródłowy:
Kod źródłowy strony internetowej:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszę Odpowiedź
Kod źródłowy serwera Signalr:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszę Odpowiedź
|