Asp.net SignalR是微軟爲實現實時通訊的一個類庫。通常狀況下,SignalR會使用JavaScript的長輪詢(long polling)的方式來實現客戶端和服務器通訊,隨着Html5中WebSockets出現,SignalR也支持WebSockets通訊。另外SignalR開發的程序不單單限制於宿主在IIS中,也能夠宿主在任何應用程序,包括控制檯,客戶端程序和Windows服務等,另外還支持Mono,這意味着它能夠實現跨平臺部署在Linux環境下。git
SignalR內部有兩類對象:github
SignalR將整個信息的交換封裝起來,客戶端和服務器都是使用JSON來溝通的,在服務端聲明的全部Hub信息,都會生成JavaScript輸出到客戶端,.NET則依賴Proxy來生成代理對象,而Proxy的內部則是將JSON轉換成對象。服務器
消息提醒也就是當客戶有新消息來時,在客戶端的右下角進行彈框提醒。要實現這個功能的思路是:微信
// 接收消息 systemHub.client.receivePrivateMessage = function(fromUserId, userName, message) { // 專題二中的代碼 // 消息提醒的代碼 if (active == false) { var iN = new iNotify({ effect: 'flash', interval: 500, audio: { file: ['/Music/msg.mp3'] }, notification: { title: "通知!", body: '您有一條新消息' } }); iN.setTitle(true).player(); iN.setFavicon(true).setTitle(true).notify(); } }; }