如果你在用QQ,微信。你会知道,广告和消息无处不在。也有好的一面,比如通过QQ或微信,微博等及时聊天功能,你找到了你的初恋,你找到了小学的班级等等。
这里的及时通信在很多应用场所能用到,比如:
1.球迷们看大屏上的球赛中谁谁进球成绩,
2.股票或金融瞬息万变的市场。
3.QQ微信啥就不要说了
4.游戏场景的变换,角色定位 这就多了去了。不再多说.
如果你接触过曾经的Socket,就会知道写及时通信并不是一件简单的事,这大体分为:服务端,客户端的注册,连接,信息接收,发送,断线重连,和退出连接等一系列操作。
如果你用WebServices的中间件,做起来也不是那头疼,但关键,你有这个横心继续吗?
这两种方式都得处理消息体,发一个表情包怎么发?怎么定义和约束,发一个图片怎么发?怎么传输数据?......太多。
直接这一天,微软更新了Asp.net SignalR ,一下子激起来很多人的怀抱!!
什么是SignalR=Server Message Push (服务推送)
COMET 服务器使用的是长连接,这种技术大多数在前几年应用广泛,还有一些自已架了消息服务器,足以应付现实的需求。
SignalR 更新后,主要用了HTML5 的webSocket ,如果不支持才会才会使用长连接。
对此我贴出一张简要图(汪磊同学的)
对此,Jquery 团队也做了客户端的支持。类似于这样的插件,还是有很多的。
原理大多数为:浏览器从服务端请求后得到解释代理类,通过代理类生成客户端。 也就是说:客户端你直接可以调用服务器端的方法。同时服务端只要指向你客户端在收到消息后需要调用哪个函数即可。
后续更新。。。
参考文章: