上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 52 下一页
  2013年12月11日
摘要: 昨天看了comet的介绍后,虽然大概知道了comet的原理,不过没实际用过还是不太清楚,于是今天又在网上翻了一下别的网友共享的comet实现http长连接的例子,在Comet Server Push 技术介绍一文中分别提到了 ”基于长轮询(long polling)“、”基于iframe“、”基于流(stream)“三种实现comet的方式,下面我将网上找到的对应的例子链接做个汇总,就当目录吧,留作以后看基于长轮询(long polling)的特点1. 服务器端会阻塞请求直到有数据传递或超时才返回。2. 客户端响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。3. 当客户端 阅读全文
posted @ 2013-12-11 02:02 davidkam 阅读(3504) 评论(1) 推荐(1) 编辑
摘要: 1. 为什么需要服务器推送?最大的优点:实时健康知识平台重庆男科医院重庆妇科医院适用场景:实时股票价格、商品价格、实时新闻、Twitter/weibo timeline、基于浏览器的聊天系统2. Web交互的发展历程?F5手动刷新 --> AJAX轮询(Polling) --> Comet实时更新 --> HTML5实时通信 随着AJAX的流行,当前大部分网站都采取轮询的方式进行更新,但是这种方式的效率是十分低下的;一方面,服务器端不是总有数据更新,所以每次请求不一定都有更新;另一方面,当发起请求的客户端数量增加,服务器端的接受的请求数量会大量上升,无形中就增加了服务器的压力 阅读全文
posted @ 2013-12-11 01:09 davidkam 阅读(247) 评论(0) 推荐(0) 编辑
摘要: Web通信之:长轮询(long-polling) “轮询”是个耐人寻味的词,第一次看到它的时候我就直接理解为“轮流查询”了。但是看到了英文才知道这个是网络通信专业的术语。轮询,其实就是一群人在排队买东西。polling这个词也生动的形容了这个的状态。就像这样 轮询如果是排队买东西,那么长轮询就是排队上厕所。买东西的话,丢下钱就可以拿东西走了,但是上厕所就不一样,有些人说不定便秘半个小时都出不来。如果只用轮询去做Web通信,那服务器就鸭梨山大了,它需要一直做的接受和断开HTTP请求的操作。就像卖热销产品的店员就没有公共厕所管理员那么轻松。 服务器就是厕所,需要上厕所的就是客户端的XHR对象... 阅读全文
posted @ 2013-12-11 01:05 davidkam 阅读(573) 评论(1) 推荐(0) 编辑
摘要: 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性。一、什么是长连接、长轮询?用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息。这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已。二、长连接、长轮询的应用场景长连接、长轮询一般应用与WebIM、ChatRoom和一些需要及时交互的网站应用中。其真实案例有:WebQQ、Hi网页版、Facebook IM等。如果你对服务器端的反向Ajax感兴趣,可以参考这篇文章 D 阅读全文
posted @ 2013-12-11 00:54 davidkam 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 在网上查了一下资料,发现轮询和长轮询还有不同的定义:轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。优点:后端程序编写比较容易。缺点:请求中有大半是无用,浪费带宽和服务器资源。实例:适于小型应用。长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。优点:在无消息的情况下不会频繁的请求。缺点:服务器hold连接会消耗资源。实例:WebQQ、Hi网页版、Facebook IM。另外,对于长连接和socket连接也有区分:长连接:在页面里嵌入一个隐蔵ifram 阅读全文
posted @ 2013-12-11 00:47 davidkam 阅读(5424) 评论(0) 推荐(1) 编辑
摘要: 长轮询方式是由前端定时发起AJAX请求,若请求到数据则把数据显示出来。comet方式是由客户端与服务器端发起一个长连接,然后客户端通过监听事件的方式,来对服务器端返回的数据作出响应和处理。实时性要求不高使用长轮询,比如微博;实时性要求较高使用comet,比如聊天室。用firebug调试一下weibo.com的网络请求可以发现,微博用的是轮询来实现消息提醒的,应该是用set timer隔个30秒或一分钟去服务器进行查询。和即时通信的web应用不同,微博提醒实时性要求不高,所以用轮询方式比较合理,没有必要用长连接。没错,不是非要使用长连接的。长连接对象保存在服务器,要占用一定的内存。降低了服务器的 阅读全文
posted @ 2013-12-11 00:23 davidkam 阅读(425) 评论(0) 推荐(0) 编辑
  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 ··· 21 22 23 24 25 26 27 28 29 ··· 52 下一页