前兩篇已經介紹的差不多了,本篇就作為收尾。
- 使用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應用場景其實可以很多,除了聊天室、消息推送、通知之類的都可以。這只是基本功能。以后有機會還會擴充其他高級功能。聊天室系列完