前段时间,做了一个web im。当时首先考虑基于xmpp协议做,可是时间比较紧,不可能在规定的时间里做好服务器端,而一些基于xmpp协议开发的即时消息服务器都是收费的,所以只好否定了这个方案。后来在网上找了一下,发现了一个开源的东西Pushlet 。它是comet技术的一种实现,利用一个servlet,将服务器端的动态对象主动推送到客户端浏览器。详细内容我就不在这里说了,网上又一篇Think in Pushlet的文章写得非常详细。以下是我的一些心得体会,与大家分享分享:
1、pushlet虽然名字带了一个push,但实际上只实现了poll,需要客户端不断的轮询服务器,如果大量的用户同时在线的话,那么服务器开销会很大,响应时间也会变得很长。网上搜了一下,也没有什么好的解决方案。jetty的Continuation到是提供了一种思路,但这比须把应用部署在jetty上面。
2、用JS写了一个队列用来存放收到的消息,然后用每个发送方作为key,消息队列做为value,存放在自定义的一个hashtable里面。
3、由于时间比较紧,很多js代码都没考虑不同浏览器下是否支持的问题,比如为了不让客户端的拦截工具把消息窗口拦截,用了showModelessDialog来打开窗口,但是这个方法firefox又不支持。因此这后这个web im就只能用在IE 6以上的浏览器下面。
分享到:
相关推荐
基于pushlet web 实时聊天系统 项目没有任何问题,使用pushlet源码实现服务器推技术 实时通信 导入myeclipse 即可运行!
一个基于pushlet推送的小例子,直接tomcat下运行就行
基于pushlet实现的comet技术的服务器推技术。新增了接口和实现类,可直接调用点对点,群发等功能。注意Session类当中create方法中王hashtable当中存入当前登录用户id和sessionid键值对。启动后会发现的。
web im 类似 web qq 实现的聊天 ,里面实现了好有上下线提示 信息发送 (如有分组 留言 群聊 查看留言 都已经实现 在这里需要使用到数据库),这些功能本人直接加入项目中了, 由于这里没很多时间去整理 所以整理了...
bsIM.war,基于pushlet WebQq
基于Pushlet推技术的网络应用程序开发的研究,介绍了pushlet推送技术。
基于pushlet实现的网站消息推送,适合初学者~~~~详情请看:http://blog.csdn.net/zeqblog/article/details/16811935
基于pushlet_chat技术的群聊实现 解决了中文乱码问题,支持中文用户名和中文内容的小例子,压缩文档里除测试工程外,还包括部署步骤和处理中文乱码的文档说明!
服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet
pushlet开发与应用
用pushlet框架做的小例子,下了就可以演示,非常方便
pushlet白皮书pushlet白皮书pushlet白皮书pushlet白皮书pushlet白皮书
pushlet例子,Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的...
/pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 Ext.showonLine='showonLine'; // ...
java web开发中服务器推送pushlet.jar解决中文乱码
/pushlet/WebRoot/index.jsp 页面主要包含几个部分。 Ext.PUSHLET_URL='piccUtil'; // 发送消息的地址 Ext.fcontent='fcontent'; // 显示窗口或有新消息时, 显示好友ID的区域 Ext.showonLine='showonLine'; // ...
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 ...
pushlet配置应用实例,看了之后就能简单应用pushlet实时推送数据
实现多个客户端连接到web服务器,由服务端推送消息至客户端(或指定id的客户端),代码中没有用官网的jar文件,而是用的源码,做了一定的修改,实现了每个客户端都可以自定义id,然后服务端可以向指定id客户端推送消息...
个人制作整理的pushlet白皮书中文参考文档。 目录: 1.介绍(Introduction) 3 2.动机(Motivation) 4 3.通知解决(Notification Solutions) 5 3.1轮询(Polling) 6 3.2服务器端回调(Server-side callbacks) 6 3.3 ...