前两篇已经介绍的差不多了,本篇就作为收尾。
- 使用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应用场景其实可以很多,除了聊天室、消息推送、通知之类的都可以。这只是基本功能。以后有机会还会扩充其他高级功能。聊天室系列完