Pushlet单播开发Web坐席即时聊天(一)

Pushlet是一个开源的 Comet 框架,利用观察者模式订阅相关事件,对于其中的单播特性其实也可以用来做web坐席即时聊天



        为了能够进行Web及时聊天,首先需要有一个固定的明确的消息ID,固定的明确的消息事件,能够进行点对点的消息发送、接受,这里对pushlet就行修改,

---------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------

1、新建SessionManager,这里命名MySessionManager

package com.serveToClient;


import nl.justobjects.pushlet.core.Event;
import nl.justobjects.pushlet.core.Session;
import nl.justobjects.pushlet.core.SessionManager;
import nl.justobjects.pushlet.util.PushletException;
/**
 * pushlet session
 * 
 * @author muyunfei
 * 
 * <p>Modification History:</p> 
 * <p>Date       Author      Description</p> 
 * <p>------------------------------------------------------------------</p>
 * <p>2014-7-21   muyunfei     新建</p>
 * <p>  </p>
 */
public class MySessionManager extends SessionManager {

	
	public Session createSession(Event anEvent) throws PushletException {
		// TODO Auto-generated method stub
		//获取是什么类型的事件
		String eventName= anEvent.getField(anEvent.P_SUBJECT);
		String eventPerson=anEvent.getField("p_id");
		System.out.println(eventName);
		System.out.println(eventPerson);
		//根据传过来的参数生成sessionId
		return Session.create(anEvent.getField("p_id", "visitied"));
	}

}

2、修改pushlet.properties中sessionmanager.class(别忘了在 web.xml配置/pushlet.srv)



3、修改ajax-pushlet-client.js中_doRequest函数


其中的sessionid(不是PL.sessionId),在自己的页面定义一个全局变量,如:


4、利用唯一的事件ID,sessionid后台发送消息


这样就可以做实现pushlet的单播,然后根据自己的规则定义sessionid,为每次对话创建不同的事件id,即可完成web客服坐席。。。。。。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牟云飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值