SignalR 項目介紹


SignalR 是 ASP.NET 團隊正在開發的一個 Microsoft .NET Framework 庫和 jQuery 插件,可能包括在以后版本的 ASP.NET 平台中。 它提供了一些前景極為光明的功能,而這些功能正是 .NET Framework 當前不曾具有的,並且是越來越多的開發者所需要的。

SignalR 是一個集成的客戶端與服務器庫,基於瀏覽器的客戶端和基於 ASP.NET 的服務器組件可以借助它來進行雙向多步對話。 換句話說,該對話可不受限制地進行單個無狀態請求/響應數據交換;它將繼續,直到明確關閉。 對話通過永久連接進行,允許客戶端向服務器發送多個消息,並允許服務器做出相應答復,值得注意的是,還允許服務器向客戶端發送異步消息。它和AJax類似,都是基於現有的技術。本身是一個復合體。一般情況下,SignalR會使用Javascript的長輪詢( long polling),實現客戶端和服務端通信。在WebSockets出現以后,SignalR也支持WebSockets通信。當然SignalR也使用了服務端的任務並行處理技術以提高服務器的擴展性。

任何一個技術的出現都是為了解決特定的問題。SignalR也不例外。我們知道網站開發中最長見到的一個功能就是在線聊天室。現在的網上的大部分在線聊天室都是基於2種技術,1.AJAX 2.Flash.

聊天室要解決最大的問題就是 消息的推送。當N個在線用戶 同時加入一個聊天室時,1個用戶發送消息,服務端就要把這個消息轉發給特定的人。

之前的技術都是通過Javascript來不停地發送請求來輪訓 服務端的新的消息。這種定期發送Ajax請求給服務器的方式,在用戶很大的情況下給服務器帶來很大的壓力。

WebSockets這個技術的出現,很好地解決了這個問題,恰恰支持可以主動推送消息,SignalR 支持WebSockets。我們可以看到未來網絡應用中會大量出現自己吃WebSockets的程序,而SignalR應該也會廣泛在ASP.NET 網站中出現。

項目官網:http://signalr.net/ 

GitHub:https://github.com/SignalR/SignalR 

相關文章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM