SignalR е интегрирана клиент-сървър библиотека, която позволява на клиенти, базирани на браузър, и сървърни компоненти, базирани на ASP.NET, да провеждат двупосочни многостепенни разговори. С други думи, разговорът позволява единна безсъстояние обмен на данни за заявка/отговор без ограничения; Той ще продължи, докато не бъде изрично затворен. Разговорът се води през постоянна връзка, което позволява на клиента да изпраща множество съобщения към сървъра и да отговаря съответно, а също така позволява на сървъра да изпраща асинхронни съобщения към клиента. Той е подобен на AJax и е базиран на съществуваща технология. сам по себе си е комплекс. Обикновено SignalR използва дълго проучване на Javascrip{filtering}t, за да постигне комуникация на клиентската страна. След появата на WebSockets, SignalR също поддържаше комуникация чрез WebSockets. Разбира се, SignalR използва и сървърна паралелна технология за обработка на задачи, за да подобри мащабируемостта на сървъра. Тя е насочена към цялата платформа .NET Framework, не се ограничава само до хостинг на приложения, а също така е кросплатформен проект с отворен код, поддържащ Mono 2.10+, което я прави алтернативна опция за реализация на уеб API-та, но е много по-добра от уеб API на ASP.NET MVC по отношение на сървърната онлайн обработка, а по-важното – може да се използва в уеб форми. По-горе е демо урокът:
Сървърът, който използваме за websocket, е signalr, а след това използваме Owin и го хостваме на конзолата!!!
Пълното име на OWIN е Open Web Interface for .NET.
Ако анализираме само от името, можем да получим следната информация: OWIN е отворен уеб интерфейс за .NET платформата.
Кой е интерфейсът между уеб интерфейса? Той е интерфейсът между уеб приложението и уеб сървъра, а OWIN е интерфейсът между .NET уеб приложението и уеб сървъра.
Защо ти трябва такъв интерфейс? Защото. NET уеб приложението работи на уеб сървър, а .NET уеб приложението трябва да получава заявката на потребителя през уеб сървъра и да изпраща отговорното съдържание към потребителя през уеб сървъра. Без такъв интерфейс .NET уеб приложението би зависело от конкретния уеб сървър, който използва, например ASP.NET приложението би зависело от IIS. С този интерфейс ASP.NET приложение трябва да разчита само на този абстрактен интерфейс и не се интересува от уеб сървъра, който работи.
Затова ролята на OWIN е да отделя връзката чрез въвеждане на набор от абстрактни интерфейси. NET уеб приложение и уеб сървър, което отново демонстрира значението на интерфейсите. В софтуерната разработка всяко разделяне е голяма крачка напред. Отворихме го с 3 различни браузъра и имахме URL адреса на протокола WebSocket.
Първи браузър: Регистрираме потребител с test3 с парола 123 и влизаме.
Вторият браузър: Използваме администраторския акаунт за влизане.
Трети браузър: Без вход, статус на турист.
Открихме, че влезли акаунти могат да се използват за изпращане на съобщения, а след това и други потребители могат да получават съобщения (туристите също могат да получават съобщения)
Изпратете съобщение и автоматично покажете прякора на другия човек, но не и на влезлия акаунт.
Накрая, нека приложим изходния код:
Уеб изходен код:
Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
Изходен код на сървъра Signalr:
Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
|