前两篇已经介绍的差不多了,本篇就作为收尾。

  • 使用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应用场景其实可以很多,除了聊天室、消息推送、通知之类的都可以。这只是基本功能。以后有机会还会扩充其他高级功能。聊天室系列完

05-11 20:01