电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

使用Pushlet来实现服务器端向客户端推送信息VIP免费

使用Pushlet来实现服务器端向客户端推送信息_第1页
1/8
使用Pushlet来实现服务器端向客户端推送信息_第2页
2/8
使用Pushlet来实现服务器端向客户端推送信息_第3页
3/8
使用Pushlet来实现服务器端向客户端推送信息1.实现方式:有两种实现方式:1.通过配置文件来实现定时的从服务器端向客户端推送信息2.通过API主动向另外一端推送信息以下分别给予介绍。2.特别注意在开始测试之前,有两点非常重要,需要实现讲明,否则程序将会无法正常运行:2.1.JSP页面上的设定JSP页面上必须添加以下代码以确保Pushlet能够正确的获得后台服务的地址:">2.2.Pushlet的JS文件的Bug修改需要修改被引用的JS文件ajax-pushlet-client.js的内容,找到PL.pushletURL=PL._getWebRoot()+'pushlet.srv';将其修改为PL.pushletURL='pushlet.srv';修改的原因是Pushlet进行地址解析的方法在某些应用中会解析错误,导致请求的路径是nullpushlet.srv?,最终导致无法正确的请求到服务器的信息。2.3.中文问题一般情况下,如果不做特殊处理,中文问题将会导致Pushlet的客户端停止响应,解决办法是,在使用Pushlet的客户端代码发送消息之前,将其进行转码,代码为encodeURIComponent(msg)3.正式开始以上准备工作完毕,就可以正式的开发测试样例了。3.1.定时的从后台向前台push信息(1)在eclipse中创建一个动态的web工程(2)配置及库文件文件:从http://www.pushlets.com/下载最新的pushlet的开发包,将其中的以下文件按照描述进行设定序号文件名源位置目标位置备注1.pushlet.jar{pushlet-2.0.4}\lib项目类路径如果使用的是applet的话,还需要将pushletclient.jar设置到项目的类路径中去2.log4j.propertiespushlet.propertiessources.properties{pushlet-2.0.4}\webapps\pushlet\WEB-INF\classes项目的src根路径注意稍后需要修改sources.properties,其他两个文件的内容不需要修改3.ajax-pushlet-client.js{pushlet-2.0.4}\webapps\pushlet\lib项目的webroot\lib需要按照之前的描述修改其中的内容(3)修改web.xml,将pushlet的自启动servlet添加进去pushletnl.justobjects.pushlet.servlet.Pushlet1pushlet/pushlet.srv(4)创建服务器端代码,特别注意类和内部静态类的名字/****/packagecom.guoguo;importjava.io.Serializable;importjava.io.UnsupportedEncodingException;importsun.rmi.runtime.Log;importnl.justobjects.pushlet.core.Event;importnl.justobjects.pushlet.core.EventPullSource;/***@authorQIAGUO**/publicclassHelloWorldPushletimplementsSerializable{/****/privatestaticfinallongserialVersionUID=-8940934044114406724L;publicstaticclassHWPushletextendsEventPullSource{Loglog=Log.getLog(HWPushlet.class.getName(),HWPushlet.class.getName(),true);/**(non-Javadoc)**@seenl.justobjects.pushlet.core.EventPullSource#getSleepTime()*/@OverrideprotectedlonggetSleepTime(){return1000;//每一秒钟自动执行一次}/**(non-Javadoc)**@seenl.justobjects.pushlet.core.EventPullSource#pullEvent()*/@OverrideprotectedEventpullEvent(){//注意,一下是设定消息的主题/guoguo/helloworld,号称主题是可以继承的//但是笔者的测试是失败的,也许方法不对,呵呵Eventevent=Event.createDataEvent("/guoguo/helloworld");Stringdata="hello,world郭强"+System.currentTimeMillis();try{data=newString(data.getBytes("UTF-8"),"ISO-8859-1");}catch(UnsupportedEncodingExceptione){e.printStackTrace();}event.setField("hw",data);returnevent;}}}(5)注册服务器端代码为事件源,在sources.properties文件中,添加以下行source7=com.guoguo.HelloWorldPushlet$HWPushlet以上方式适用于有内部类的情况,如果没有内部类的话,使用以下的方式进行注册(这时外部类必须继承父类EventPullSource)source7=com.guoguo.HelloWorldPushlet(6)页面(可以参考页面内注释信息)<%@pagelanguage="java"contentType="te...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

使用Pushlet来实现服务器端向客户端推送信息

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部