前兩篇已經介紹的差不多了,本篇就作為收尾。
- 使用hub方法初始化聊天室的基本步驟和注意事項
- 首先確保頁面已經引用了jquery和singalR.js還有對應的hubs檔案,注意,MVC框架有時會將jquery放在頁面最底部,導致$符號將singalR覆蓋的情況。
- 第二,配置服務地址的時候,如果沒加配置,預設為 singalr/hubs
- 連線伺服器流程
- 指定hub的url
- 定義聊天室代理類
- start聊天室
-
//1.註冊聊天室伺服器Url $.connection.hub.url = 'http://localhost:40716/push/im'; //2.聊天室代理類 var proxy = $.connection.zjHub; //3.初始化聊天室固定寫法 $.connection.hub.start({ jsonp: true }).done(function () { console.log("連線伺服器成功"); //呼叫join方法,實現當前使用者加入資訊推送 proxy.server.join({ photo: user.userphoto, username: user.username }); }).fail(function () { console.log("聊天室初始化失敗!"); });
- 部分程式碼解析,HubConfiguation還有另外兩個配置引數,EnableDetailedErrors, 確定是否將集線器方法中引發的詳細異常報告回撥用客戶端。預設為 false。EnableJavaScriptProxies,確定是否應在 {路徑}/hubs 自動生成用於伺服器端集線器的 JavaScript 代理。預設為 true。所以,看到這裡,/hubs,就是生成的代理類.
- 原始碼不是整個Demo是不能直接執行的。不過基本程式碼已經包含,下載之後放在專案裡簡單配置一下就可以使用了。注意去除掉 mongodb的資料操作部分就可以了。(mongodb不做介紹。。。)
原始碼雲盤地址:http://pan.baidu.com/s/1ntzqxL3
總結:整個聊天室總體來說比較簡單,SingalR應用場景其實可以很多,除了聊天室、訊息推送、通知之類的都可以。這只是基本功能。以後有機會還會擴充其他高階功能。聊天室系列完