pushlet服务端推送

---------------------在jsp页面中加入----------------------

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<base href="<%=basePath%>">

//从官网下载

<script type="text/javascript" src="<%=path%>/cc/util/js/ajax-pushlet-client.js"></script>

<script type="text/javascript">

PL._init();

//监听mutiSend时间,mutiSend是我定义的

PL.joinListen(‘/mutiSend‘);

function onData(event) {

try{

//读取内容

var context=event.get("msg");

//解决汉字乱码问题

context=decodeURIComponent(context);

if(null!=context&&"undefined"!=context){

//var a=document.getElementById("contex");

//a.innerHTML=context;

pushInfoShowDiv(context);

}

}catch(e){

}

// 离开

// PL.leave();

}

</script>

--------------------------web.xml文件中加入

  <!-- pushlet -->
  <servlet>
		<servlet-name>pushlet</servlet-name>
		<servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class>
		<load-on-startup>3</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>pushlet</servlet-name>
		<url-pattern>/pushlet.srv</url-pattern>
	</servlet-mapping>

------------------------java文件-----------------

//向所有和****名称匹配的事件进行推送
	public void mutiSend(){

		try {
			//获得数据
			List<RemindInfo> list = retrieve(null,null,null,null,null);
			String remindContent="";
			if(null!=list&&0!=list.size()){
				remindContent=list.get(0).getRemindContent();
			}
			Event event =Event.createDataEvent("/mutiSend");
			event.setField("msg", URLEncoder.encode(remindContent+"<br/>推送时间:"+new Date().toLocaleString(),"UTF-8"));//解决乱码
			Dispatcher.getInstance().multicast(event);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

如果需要页面点击发送,然后推送给各个客户端,在action或者servlet中加入

Event event =Event.createDataEvent("/mutiSend");

event.setField("msg", URLEncoder.encode(remindContent+"<br/>推送时间:"+new Date().toLocaleString(),"UTF-8"));//解决乱码

Dispatcher.getInstance().multicast(event);

这三句代码即可

------------效果-------------

pushlet服务端推送

时间: 2024-10-09 11:56:13

pushlet服务端推送的相关文章

pushlet服务端推送——点对点单播(不用修改lib包)

pushlet点对点单播,在网上看 ,大家都是将包修改然后替换lib中class,其实不用不这么麻烦,java可以继承嘛,继承原来的类重写里面的方法就行,不必编译出来替换class,这样不方便修改 新建一个类,继承nl.justobjects.pushlet.core.SessionManager类,重写里面的createSession方法即可 package com.pushlet.serveToClient; import javax.servlet.http.HttpSession; im

Java 消息推送------GoEasy实现服务端推送和web端推送

项目中需要消息推送,又想较低开发成本,具体需求:角色用户在后台管理页面发布一个消息,所有用这个系统的用户无论在哪个页面都能及时收到他发布的消息,后来我在网上查询到了一个第三方的免费推送服务-GoEasy push, 它可以满足我的需求,下面是如何用GoEasy进行信息推送及接收: 第一种:Java服务器端推送,web端接收推送信息 步骤: 从GoEasy官网下载jar包,并放到项目中. https://cdn.goeasy.io/sdk/goeasy-0.1.jar Java代码来了,你没有看错

java SDK服务端推送 --极光推送(JPush)

网址:https://blog.csdn.net/duyusean/article/details/86581475 消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andriod它并没有自己的原生推送机制,一种简单的推送方式是采用第三方推送服务的方式,即通过嵌入SDK使用第三方提供的推送服务,主流的有百度云推送,极光推送,友盟,个推.亚马逊等等.本篇博文只介绍采用极光推送的方式.        如果你是一个新手,建议你先看完本篇博客,然后在去看官网,这样也许上手会快一

转:实现一个简单的服务端推送方案

原文来自于:http://blog.csdn.net/jiao_fuyou/article/details/17090355 客户端和服务端的交互有推和拉两种方式:如果是客户端拉的话,通常就是Polling:如果是服务端推的话,一般就是Comet,目前比较流行的Comet实现方式是Long Polling. 注:如果不清楚相关名词含义,可以参考:Browser 與 Server 持續同步的作法介紹. 先来看看Polling,它其实就是我们平常所说的轮询,大致如下所示: Polling 因为服务端

Html5 服务端推送 Server-Sent Event

服务器推送事件(Server-sent Events)是 HTML 5 规范中的一个组成部分,可以用来从服务端实时推送数据到浏览器端.相对于与之类似的 COMET 和 WebSocket 技术来说,服务器推送事件的使用更简单,对服务器端的改动也比较小.对于某些类型的应用来说,服务器推送事件是最佳的选择. WebSocket 在介绍 HTML 5 服务器推送事件之前,首先介绍一些上面提到的几种服务器端数据推送技术.第一种是 WebSocket.WebSocket 规范是 HTML 5 中的一个重要

springboot 项目==基于websocket的服务端推送消息。

1.创建springboot项目,首先我们还是先引入依赖 <!-- webSocket begin--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></dependency><!-- webSocket end--> 2.创建配置类 

使用AJAX技术发送异步请求,HTTP服务端推送

使用AJAX技术发送异步请求 什么是AJAX AJAX指一步Javascript和XML(Asynchronous JavaScript And XML),它是一些列技术的组合,简单来说AJAX基于XMLHttpRequest让我们在不重载页面的情况下和服务器进行数据交换. 加上JavaScript和DOM(Document Object Model,文档对象模型),我们就可以在接收到响应数据后局部更新页面.XML指的是数据的交互模式,可以是纯文本(Plain Text).HTML或JSON.

其他技术---- 服务端推送SSE

SSE是Server-sent Events的简称,它是HTML5中的一种规范.目前为止那些老旧的浏览器是不直接支持SSE规范的,比如IE内核的浏览器. 我们知道websocket可以实现客户端与服务端的双向通信.SSE这个东西是可以实现服务端主动向客户端进行通信的,但是它仅仅是单向的.如果客户端与服务器端的数据交互不是特别频繁,那么我们是可以使用SSE技术来实现的. 协议 Server-sent Events主要由两部分组成. 1.服务器端与浏览器端之间的通讯协议 2.前端js对象EventS

.net平台借助第三方推送服务在推送Android消息(极光推送)

.net平台借助第三方推送服务在推送Android消息(极光推送) 最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS,Android,Windows Phone等设备消息,大喜,然后先做了IOS的,成功了,但是做Android的时候遇到了问题,一直推送不成功,程序执行了,但是推送一直出不来,后来费劲的在网上搜,没有找到,最后放弃使用这种推送And