- 浏览: 88773 次
- 性别:
- 来自: 宜昌
文章分类
最新评论
-
chenaha:
不知道大哥是否会用sencha touch,我想写一个这样的效 ...
用ext读取XML写一个“省-市-邮编”三级联动
前段时间做一个Demo,需要在里面实现实时的系统内存、CPU、线程等信息。考虑Ajax的Polling来实现,但发现CPU很高,频繁的Ajax访问,服务器受不了呀。
目前,初步实现push的服务器还不成熟。servlet3.0,Tomcat等有实现,但很麻烦。
幸好08年有DWR的使用经历,DWR3.0的反向功能,让我看到了希望。下面来说说他实现的一个及时聊天吧。
1.导入dwr.jar
2.servlet配置
<servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>activeReverseAjaxEnabled</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
3.新建一个java后台类
public class TestClass { int i = 0; public String testMethod1(String name) { return "Hello," + name; } public void send(final String msg) { Browser.withCurrentPage(new Runnable() { public void run() { ScriptSessions.addFunctionCall("receive", msg); } }); } }
4.编写dwr.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <create creator="new" javascript="testClass" scope="application"> <param name="class" value="dwr.TestClass" /> <include method="testMethod1" /> <include method="send" /> </create> </allow> </dwr>
5.前段代码的编写
<script src='dwr/interface/testClass.js'></script> <script src='dwr/engine.js'></script> <script src='dwr/util.js'></script> <body onload=dwr.engine.setActiveReverseAjax(true);> <input type="text" id='shuo' /> <input type="button" value='send' id="btn" /> <div id="kkk2"></div> <script type="text/javascript"> document.getElementById('btn').onclick = function(){ var msg = document.getElementById('shuo').value; testClass.send(msg); document.getElementById('shuo').value=''; } function receive(msg){ var d = document.createElement('div'); d.innerHTML = msg; document.getElementById('kkk2').appendChild(d); } </script> </body>
现在打开多个浏览器测试吧!!!
发表评论
文章已被作者锁定,不允许评论。
-
dialog
2014-01-06 15:26 0div.rzy-mask { background-co ... -
box.js
2013-12-23 15:54 726jQuery.fn.center = function(sc ... -
IE6 autocomplete
2013-12-11 10:05 620aaa -
Callable Future
2013-12-09 09:00 620package advancedJava; impor ... -
RequestContext
2013-12-06 11:30 489package util; import java.i ... -
XUtil
2013-12-04 15:21 1194package util; import java.i ... -
ActionFilter
2013-12-04 09:02 468package util; import java. ... -
最新基于Json 协议的架构
2013-12-02 23:35 716package util; import java. ... -
权限脚本
2013-11-27 09:32 519aa DROP TABLE IF EXISTS seq; ... -
主框架
2013-04-10 23:30 596<!DOCTYPE HTML PUBLIC &quo ... -
java 备份mysql
2012-07-01 01:18 772import java.io.BufferedReader;i ... -
权限管理
2012-06-23 02:14 693权限管理 -
FTPUPLOAD
2012-04-28 17:56 0package util; import java.io ... -
layout
2011-11-15 22:49 654$(function () { ... -
ligerui.css
2011-11-15 22:41 1249/* YUI CSS Reset */ html{col ... -
Accordion
2011-11-15 22:29 3077/** * jQuery ligerUI 1.0.2 * ... -
LigerUI
2011-11-13 16:52 853SDFD -
js 控件集
2011-11-06 00:39 967js 控件集 -
fileutil
2011-10-24 16:04 877import java.io.File; import ja ... -
语法高亮
2011-10-21 16:17 669语法高亮
相关推荐
在基于DWR的Server Push实现中,服务器端会持续监测数据变化,并在有新数据时立即推送到客户端。这个过程通常包括以下步骤: 1. **设置DWR**: 首先,你需要在Java项目中集成DWR框架,通过在web.xml中配置DWR的...
总的来说,"ServerPush聊天室"是一个利用DWR技术构建的实时聊天应用,其核心特性是通过ServerPush实现的高效信息传递和点对点的聊天功能。理解和实现这样的系统,对于提升Web应用的用户体验和实时性具有重要意义。
总之,ASP.NET (C#) ServerPush是构建实时Web应用的关键技术,它利用多种底层传输机制实现服务器到客户端的数据实时推送,极大地提升了用户体验。掌握这些知识点对于开发高效、实时的Web应用程序至关重要。
在Android平台上实现Server Push技术,MQTT(Message Queuing Telemetry Transport)协议是一个常见的选择。MQTT是一个轻量级的发布/订阅模型的网络协议,主要用于低带宽、高延迟或不可靠的网络环境中,特别适合...
首先,`ServerPush.sln`是一个Visual Studio解决方案文件,它包含了项目的所有配置和依赖关系。当你打开这个文件时,Visual Studio会加载相关的项目和设置,便于开发者进行编译和调试。 `ServerPush.suo`是Visual ...
本篇将主要讨论使用Servlet实现的Server Push技术,即服务器端主动向客户端推送数据。 【描述】: 这篇博客(原文链接:https://zw7534313.iteye.com/blog/703114)详细介绍了如何利用Servlet实现一个简单的Web...
本文将深入探讨如何利用Java中的Servlet实现Server Push技术来创建一个聊天室应用。 ### Servlet与Server Push技术 Servlet是Java平台上的服务器端应用程序接口,它主要用于扩展应用程序服务器的能力,处理来自...
#### 二、Server Push 的实现方式 目前,Server Push 主要有两种实现方式: 1. **需要在浏览器端安装插件的方式**: - 基于**套接口**(Socket)传送信息。 - 使用**RMI**(Remote Method Invocation) 或 **CORBA...
#### 四、Server Push的技术实现 Server Push技术主要依赖于HTTP协议的一些扩展功能,特别是MIME类型和响应头的特定配置。 - **MIME类型**:为了支持Server Push,HTTP协议引入了特殊的MIME类型,如`multipart/...
为了实现实时通信,如聊天应用、股票更新等场景,引入了Server Push技术。 Flex是一款开源的Flash开发框架,主要用于创建富互联网应用程序(RIA)。它允许开发者使用ActionScript语言编写前端界面,并与后端服务器...
在提供的压缩包文件中,"ServerPush"可能是一个实现了服务器推送功能的ASP.NET项目,"项目说明.txt"可能包含了项目的详细说明和使用指南,而"Fsrm.ServerPushChat"可能是一个示例应用,展示了如何使用服务器推送技术...
综上所述,"serverpush做的webRoom"是一个利用DWR实现服务器推送的Web聊天室应用,其核心是通过服务器推送技术实现实时的点对点聊天功能。项目中的"WebRoom"文件夹包含了实现这一功能所需的所有源代码和资源。在实际...
在ASP.NET中实现Server Push,一般采用几种常见的技术策略: 1. **HTTP长轮询(Long Polling)**:客户端发起请求后,服务器并不立即返回,而是保持连接,直到有新数据可用时才将数据发送给客户端并关闭连接。...
总的来说,ASP.NET Server Push长连接技术是现代Web应用程序实现实时通信的关键技术之一,通过合理选择和实现,可以极大地提升用户体验。在开发过程中,理解各种实现方式的优缺点,以及如何针对具体场景进行优化,...
本文将深入探讨 Laravel 开发中的 HTTP/2 服务器推送技术,并介绍如何在 Laravel5 中使用 `laravel-HTTP2ServerPush` 这个中间件来实现这一功能。 首先,让我们理解 HTTP/2 服务器推送的基本概念。在 HTTP/1.x 协议...
为了解决这个问题,开发人员引入了 ServerPush 技术,其中一种常见实现方式就是利用 AJAX 和 Webservice 的长轮询。 **AJAX(Asynchronous JavaScript and XML)** 是一种在无需刷新整个页面的情况下,能够更新部分...
3. **Server Push**:服务器主动推送技术,通常包括两种主要实现方式:长轮询(Long Polling)和流(Streaming)。在这个项目中,可能采用了长轮询的方式,即服务器接收到客户端请求后并不立即返回,而是保持连接...
FCM是实现Server Push的关键,它允许开发者通过云平台发送消息到Android设备。Urban Airship则在此基础上提供了更高级的功能和定制化选项,如自定义通知样式、消息分段、深度链接等。 要使用Urban Airship,首先...