2013年12月10日
摘要: 前言本comet技术主要用于数据库持久层的 穿越防火墙 远程访问。只要有一台中继网站,任意地点的数据库都能被访问。Comet概念介绍WebIM、网页的客服、meebo等大家听说过了。最近还有个兄弟开源了个网页客服叫,PowerTalk。各位可以搜索一下。这些最新最炫的技术,用了一个叫comet的架构。comet对于我来说= http长连接这个是一个通俗的解释。老外最擅长就就是发明概念,生怕别人忘了自己的存在。因此把一个很简单的东西搞了一个摸不着边的名词:Comet。Comet思想怎么来先抛开comet,给个案例分析:局域网(防火墙内)的客户端要与外界联系,如何做到?必然想到了客户端主动发出申请 阅读全文
posted @ 2013-12-10 23:06 davidkam 阅读(336) 评论(0) 推荐(0) 编辑
摘要: Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于WinForm和ASP.NET应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而 创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。好了,现在具体来说一下怎么使用Quartz.net 2.0。 1.到网上下载Quartz.net 2.0,下载完后解压,里面有vs.net2008和vs.net2010两个版本。 2.新建一个空项目,在里面增加一个类库应用程序和web应用程序,由于我... 阅读全文
posted @ 2013-12-10 14:42 davidkam 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 1 2 3 4 HTTP Polling 5 6 23 24 25 26 27 28 Comet.html 1 2 3 4 5 6 7 8 9 35 36 Socket.htmlWebSocket 阅读全文
posted @ 2013-12-10 11:32 davidkam 阅读(248) 评论(0) 推荐(0) 编辑
摘要: oa.comet = function (id) { if (oa.id == 0) oa.id = id; $.ajax({ url: '/comet.asy?id=' + id, cache: false, dataType: 'json', error: function (request, status, thrown) { setTimeout(oa.comet, 8000 * oa.errTimes); oa.errTimes++; }, //出错 8秒之后自动连接服务器 success: function (data) { if (data) { 阅读全文
posted @ 2013-12-10 11:18 davidkam 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 服务器内容推送技术1、 传统轮询:利用WEB页面META刷新机制,指定一定时间间隔进行页面装载服务。不足:用户体验差,服务器压力大2、 Ajax轮询:采用异步响应机制不足:有延迟,服务器压力比较大,客户端主动请求3、 Comet:建立到服务器的长连接机制,服务器推送技术是保持原有的HTTP协议不 变,在服务器端改变处理方式,使得服务器能够使用浏览器已经打开的HTTP连接,主动向浏览器发送消息。这里关键的技术是要保持原有的 HTTP连接不断。一旦拥有持久的连接,服务器就可以根据自己的数据更新,随时地向客户端发送最新的信息。Comet的实现是基于异步请求服务(ARP)之上的,因此整个框架结构仍然符 阅读全文
posted @ 2013-12-10 10:57 davidkam 阅读(482) 评论(1) 推荐(0) 编辑
摘要: 基于Web的数据推送技术对于实时性数据显示要求比较高的系统,比如竞价,股票行情,实时聊天等,我们的解决方案有以下几种。1. HTTP请求发送模式,一般可以基于ajax的请求,比如每3秒一次访问下服务器,实现过程比较简单,只要需求不是太变态,基本上认为这个时间延迟可以接受的话,那完全没有问题,不过服务端的压力有点大,访问量多的话,那就很容易挂了,这个也是为什么很多聊天室有人数限制的原因了,我怀疑一个聊天室就有一台服务器撑着。2.基于socket的推送方式,这个是真正的推送技术,服务器压力相对较小,但是要保持和客户端通讯的socket,以便需要的时候可以拿到这个socket给用户发送消息。但是保持 阅读全文
posted @ 2013-12-10 10:54 davidkam 阅读(637) 评论(1) 推荐(0) 编辑