首页 > 其他 > 详细

pushlet服务端推送

时间:2014-07-02 11:45:50      阅读:353      评论:0      收藏:0      [点我收藏+]

---------------------在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);

这三句代码即可

 

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

bubuko.com,布布扣

 

pushlet服务端推送,布布扣,bubuko.com

pushlet服务端推送

原文:http://blog.csdn.net/myfmyfmyfmyf/article/details/36364337

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!