`
sbl2255
  • 浏览: 218589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浅谈 Server Push 技术

 
阅读更多

服务器推送(Server push)之前一直是一个很热门的话题,最近也是兴趣所致,想研究下到底有多神奇,起初最先考虑到的是javascript的reload(),定时刷新,不过这样的方案很快就否定了,无疑这是找死。 而后很自然的就想到了利用Ajax技术,可是根本问题是Server不会自动给客户端发送信息,一味这必须模块一个reuqest给Server,然后才可以通信,于是乎,开始了一个漫长的旅程....

通过强大的Google,下来了pushlet框架的一些例子,看完之后有点不可思议,代码中出现了很多神奇的东西

if (PL.state < PL.STATE_LISTENING) {
				PL._setStatus('not refreshing state=' + PL.STATE_LISTENING);
			}
			var timeout = event.get('p_wait');
			setTimeout(function () {
				PL._doRequest('refresh');
			}, timeout);
			return;

 ...

.....

_showStatus: function() {
		// To show progress
		if (PL.statusChanged == true) {
			if (PL.statusChar == '|') PL.statusChar = '/';
			else if (PL.statusChar == '/') PL.statusChar = '--';
			else if (PL.statusChar == '--') PL.statusChar = '\\';
			else PL.statusChar = '|';
			PL.statusChanged = false;
		}
		window.defaultStatus = PL.statusMsg;
		window.status = PL.statusMsg + '  ' + PL.statusChar;
		timeout = window.setTimeout('PL._showStatus()', 400);
	},

 原来它们也是一个伪推送,只不过是先进行一个请求,然后向服务器注册一个key,然后服务器容器返回key和一个time,然后ajax-pushlet-client.js再根据time请求,当服务器有消息推送时,就会根据key发送到view。

 

pushlet的大致原理其实就是这样....

 

哎....

 

(以上只是个人的部分看法)

 

 

 

 

 

 

分享到:
评论

相关推荐

    java中的Servlet实现Server_Push技术的聊天室!

    本文将深入探讨如何利用Java中的Servlet实现Server Push技术来创建一个聊天室应用。 ### Servlet与Server Push技术 Servlet是Java平台上的服务器端应用程序接口,它主要用于扩展应用程序服务器的能力,处理来自...

    ASP.NET(C#) ServerPush

    ASP.NET (C#) ServerPush 是一种技术,用于在服务器端主动向客户端推送数据,而无需客户端持续发起请求。在传统的HTTP协议中,浏览器与服务器之间的通信基于请求-响应模型,即客户端发起请求,服务器返回响应。然而...

    server push

    "Server Push"是一种网络通信技术,它允许服务器主动地向客户端发送数据,而不仅仅是响应客户端的请求。在传统的HTTP协议中,服务器仅在接收到客户端请求时才会返回数据,但Server Push打破了这种单向通信模式,提高...

    Android Server Push - MQTT

    在Android平台上实现Server Push技术,MQTT(Message Queuing Telemetry Transport)协议是一个常见的选择。MQTT是一个轻量级的发布/订阅模型的网络协议,主要用于低带宽、高延迟或不可靠的网络环境中,特别适合...

    服务器推送技术Server Push详解

    ### 服务器推送技术(Server Push)详解 #### 一、引言 随着互联网技术的发展,用户对实时信息的需求越来越高。传统的客户端请求模式(Client Pull)已无法满足这种需求,因此服务器推送技术(Server Push)应运而生。...

    Server Push入门介绍

    ### Server Push 技术入门详解 #### 一、Server Push 技术概述 **Server Push**,即服务器推送技术,是一种让服务器能够主动向客户端发送数据的技术。与传统的客户端发起请求(Client Pull)的方式不同,Server ...

    基于 AJAX和Webservice 的长轮询方式ServerPush技术模拟

    **基于 AJAX 和 Webservice 的长轮询方式 ServerPush 技术模拟** 在现代网页应用中,实时性成为了不可或缺的需求,例如股票更新、聊天室、在线游戏等场景。传统的 HTTP 协议是基于请求-响应模式的,即客户端发起...

    serverpush聊天室

    "ServerPush聊天室"是一种基于DWR(Direct Web Remoting)技术实现的实时通信系统,主要特点是能够实现实时的点对点聊天功能。在这个系统中,服务器主动将信息推送至客户端,而不是传统的客户端发起请求获取数据的...

    .net实现Server Push(服务器推送)源码

    在.NET开发环境中,"Server Push"技术是一种允许服务器主动向客户端发送数据,而不仅仅是响应客户端请求的方法。这种技术常用于实时应用,如聊天系统、股票报价、在线游戏等,能够提高用户体验并降低延迟。以下是对...

    web聊天 serverpush servlet实现

    本篇将主要讨论使用Servlet实现的Server Push技术,即服务器端主动向客户端推送数据。 【描述】: 这篇博客(原文链接:https://zw7534313.iteye.com/blog/703114)详细介绍了如何利用Servlet实现一个简单的Web...

    ServerPush(服务器推送)

    在Web开发中,服务器推送(Server Push)是一种技术,它允许服务器主动将数据发送到客户端,而无需等待客户端的请求。这种机制打破了传统的HTTP协议的请求-响应模型,提高了实时性和交互性。在ASP.NET框架下实现...

    Flex与java Server Push数据

    标题中的“Flex与Java Server Push数据”涉及到的技术是基于Adobe Flex客户端和Java服务器端的数据实时推送技术。在Web开发中,传统的HTTP协议是基于请求-响应模型的,但这种模式无法实现服务器主动向客户端推送数据...

    asp.net server push长连接 源码示例

    ASP.NET Server Push是一种技术,它允许服务器主动向客户端发送数据,而无需客户端发起新的请求。在传统的HTTP协议中,客户端需要先发起请求,服务器才能响应数据。然而,Server Push技术打破了这种模式,使得实时性...

    serverpush做的webRoom

    【标题】"serverpush做的webRoom"涉及到的技术和概念主要集中在服务器推送(Server Push)以及Web实时通信领域,尤其在构建一个基于DWR(Direct Web Remoting)的在线聊天室应用上。首先,我们来详细了解这些关键点...

    asp.net server push 长连接

    ASP.NET Server Push 长连接技术是一种用于实时通信的技术,它允许服务器主动向客户端推送数据,而无需客户端频繁发起请求。这种技术在实时性要求较高的应用中,如在线聊天、股票更新、游戏同步等场景非常有用。传统...

    Laravel开发-laravel-http2serverpush

    本文将深入探讨 Laravel 开发中的 HTTP/2 服务器推送技术,并介绍如何在 Laravel5 中使用 `laravel-HTTP2ServerPush` 这个中间件来实现这一功能。 首先,让我们理解 HTTP/2 服务器推送的基本概念。在 HTTP/1.x 协议...

    Comet基于iframe的服务器推送(Server Push)例子

    NULL 博文链接:https://packecho.iteye.com/blog/857027

    服务器推送技术资料 server push

    服务器推送技术,也称为Server Push,是Web开发中一种创新的通信模式,旨在解决传统HTTP协议下服务器无法主动向客户端发送信息的问题。该技术源于Ajax技术的广泛应用,它改变了Web应用仅能通过用户触发请求获取数据...

Global site tag (gtag.js) - Google Analytics