修改SesssionManager,和Session类使得sessionId是有意义的,一般改成用户id!
Session类添加一个方法:
/*** czp 新增方法,sessionId为用户id
* @param anId
* @param anEvent
* @return
* @throws PushletException
*/
public static Session create(String anId,Event anEvent) throws PushletException {
Session session;
try {
session = (Session) Config.getClass(SESSION_CLASS, "nl.justobjects.pushlet.core.Session").newInstance();
} catch (Throwable t) {
throw new PushletException("Cannot instantiate Session from config", t);
}
// Init session
session.id = anEvent.getField("userId");//sessionId为有意义的用户id
session.controller = Controller.create(session);
session.subscriber = Subscriber.create(session);
return session;
}
修改SessionManager类里面的createSession方法:
/**
* Create new Session (but add later).
* edit by czp
*/
public Session createSession(Event anEvent) throws PushletException {
/*
* 如果存在user,创建一个带有userid的session,
* sessionId变成userid
*/
Session session = null;
if(anEvent.getField("userId") != null && !("").equals(anEvent.getField("userId"))){
session = Session.create(createSessionId(),anEvent);//个性化方法,加入用户id
}else{
session = Session.create(createSessionId());
}
return session;
}
这样就可以将sessionId变成有意义的id了,现在前台接收的p_id就是userId了.
分享到:
相关推荐
pushlet文档和项目
pushlet配置应用实例,看了之后就能简单应用pushlet实时推送数据
pushlet 所需夹包 和配置文件 ajax-pushlet-client.js pushlet-sessionid.jar sources.properties pushlet.properties
在使用的过程中发现,如果要在pullEvent()方法中获取参数比较麻烦,查看源码发现nl.justobjects.pushlet.servlet.Pushlet中已经将request参数传进了Session(注意是nl.justobjects.pushlet.core.Session)。...
server端向浏览器client发送通知这种通讯模式. 扩充,sessionid 采用userid.对不同用户发送不同信息。
pushlet开发与应用
服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet
java web开发中服务器推送pushlet.jar解决中文乱码
美化工作需要融合到真正的生产环境中再进行。再有pushlet 不支持集群, 如果要实现真正大规模的在线聊天功能,建议使用openfire + jwchat +XMP客户端的形式。 邮箱: wsldbhw@163.com 欢迎交流,但是由于工作...
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
美化工作需要融合到真正的生产环境中再进行。再有pushlet 不支持集群, 如果要实现真正大规模的在线聊天功能,建议使用openfire + jwchat +XMP客户端的形式。 邮箱: wsldbhw@163.com 欢迎交流,但是由于工作...
pushlet 和comet 资料介绍 介绍如何从服器端push subscrite 给浏览器
源码(导入MyEclipse可用) 博文链接:https://yuanyan.iteye.com/blog/1534811
本文档详细讲述了pushlet的部署过程,包括中文乱码的解决办法,可以帮助人们更好的了解Pushlet和进行部署
pushlet白皮书pushlet白皮书pushlet白皮书pushlet白皮书pushlet白皮书
pushlet 实例,简单实例,带jar包,可直接运行
个人制作整理的pushlet白皮书中文参考文档。 目录: 1.介绍(Introduction) 3 2.动机(Motivation) 4 3.通知解决(Notification Solutions) 5 3.1轮询(Polling) 6 3.2服务器端回调(Server-side callbacks) 6 3.3 ...
pushlet例子,Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的...
自己修改的pushlet··实现了多播,单播。。,怎么时候请参考http://blog.csdn.net/u012613903/article/details/51086429
Pushlet简单示例测试