ASP.NET SingalR + MongoDB 實現簡單聊天室(三):實現使用者群聊,總結完善

丶Pz發表於2015-11-20

前兩篇已經介紹的差不多了,本篇就作為收尾。

  • 使用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("聊天室初始化失敗!"); });
        View Code

         

  • 部分程式碼解析,HubConfiguation還有另外兩個配置引數,EnableDetailedErrors, 確定是否將集線器方法中引發的詳細異常報告回撥用客戶端。預設為 false。EnableJavaScriptProxies,確定是否應在 {路徑}/hubs 自動生成用於伺服器端集線器的 JavaScript 代理。預設為 true。所以,看到這裡,/hubs,就是生成的代理類.
  • 原始碼不是整個Demo是不能直接執行的。不過基本程式碼已經包含,下載之後放在專案裡簡單配置一下就可以使用了。注意去除掉 mongodb的資料操作部分就可以了。(mongodb不做介紹。。。)

 

原始碼雲盤地址:http://pan.baidu.com/s/1ntzqxL3

 

總結:整個聊天室總體來說比較簡單,SingalR應用場景其實可以很多,除了聊天室、訊息推送、通知之類的都可以。這只是基本功能。以後有機會還會擴充其他高階功能。聊天室系列完

相關文章