大侠 的个人资料Liy's space照片日志列表更多 ![]() | 帮助 |
修改为检查日期大换血哦!
麻烦死了 2009/2/26 XMPP Pubsub大概做完了!现在都可以监控多个网页或者RSS了,之后可以再把Atom加上!
Monitor为多线程控制,不过还是最弱智的每隔一段时间扫描一次。
另外RSS如果更新的话,只会推送最近的一个entry。
Subscribe普通的网页url几乎没有什么用处,只能提醒网页是否更新,推送消息内只有网页的连接,没有任何其余Different信息。不过能接收到网页更新提示也不错哦~
Server端的东西稀里糊涂的都几乎写完了,看上去还能用!
现在任何人都可以写一个XMPP的客户端发送接收XMPP stanze了!简单的要死!语言随选:Java, C, Python, PHP, ActionScirpt, Erlang....
只是我写的XMPP Server Pubsub component只接收我自定的XMPP格式,比如,你想订阅俺的Blog,就发送个以下的stanza到我的服务器:
仿佛在options elment里边还以定义你需要订阅这个resource多长时间,或者只接收某些关键字等等信息。不过我没试验过。
我自定义的stanza格式相当不规范,之后还是要修改一下。
不过现在至少能用了!
说了一堆废话,这个东西到底拿来干嘛???
说白了就是一个即时版本的,稍微高级点的Google Reader!!虽然还没做完!!
同志们可以订阅RSS, Atom或者普通网页url地址,服务器会自动查找它们的更新。当查找到更新的时候,会即时推送消息到你的客户端!客户端可以是本地计算机上边的软件,或者是手机,或者是某个Web Application!!
之所以用XMPP作为这个Project的Protocol,就是因为它易扩展!!简单!!公认!!Google Talk也用XMPP。
反正以后的发展空间很大!还可以做很多无限高级的东西!!!比如...Instant Messenging!!不过XMPP本来就是即时聊天的Protocol!连上俺的Server就可以聊天咯!
现在做的只是试验一下我的能力是否足够......仿佛我还不算太瓜......乱弄竟然弄好了!!
改天写个客户端试试!!Web Application也可以!! 测试测试测试测试测试测试测试测试测试测试 Update Monitor Test我在制造垃圾Entry 2009/2/1 Fake A Real-Time 浏览器!啥意思?!Real-Time Browser?! 当当当当!! 那就是:
正在思考这个问题……把现在大部分非实时的网络变成:半实时的,假实时的,甚至完全实时的! 这说不定是个很好的 idea! 至少可以减少点链接爱好者的数量!
大概状况就是: 当你浏览某个页面的时候,你就相当于已经订阅了此页,然后浏览器就可以接收关于该页面的数据,然后再做出相应的反映!注意哦!是接收!跟点链接,刷新无关…… 离开某页面,你就退订了此页,你就不需要接收无关数据了!当然你也可以永久订阅此页,一直接收关于该页的数据!
可惜这种浏览器还没的…… 最大的问题是:需要Ping服务器和网站支持Ping!! 哇哈哈哈哈!我是天才!!弄个哇?!?!咋样?!每天可以节约点链接的时间来睡觉!!
说不定哪天Google啊,Microsoft啊,Mozilla啊,Apple啊,之类的就发布这种浏览器了…… 然后就高级了!! 2009/1/30 哦耶!开源万岁万岁万万岁!再来测试哈喃?!?仿佛可以了哦! 2008/12/1 程序杀手凤凰涅槃了...Java里边:
if(node.getName().equals("link")) 跟 if(node.getName()== "link") 得出的结果一样么?!?!
本人就是有这种无稽无聊的问题...
我的台式机用Vista Ultimate,作为测试机用左边的代码,得出来的结果是:true
另外笔记本用xp professiona,作为XMPP Server用右边的代码,得出来的结果:false
直接导致我昨天给张同学做演示的时候出错...
我再一次成为了程序杀手...
估计要认真看哈 == 和 equals 的区别了,不过问题在于...不同的机器竟然得出来不同的答案!
其他无关人员可以忽略,备忘录而已:
程序使用dom4j,node实际上是个Element instance,不过type还是Node...没被cast....
getName() return element name as a String
code:
private String getRSSLink(Element element){
String rssLink = null; for ( int i = 0, size = element.nodeCount(); i < size; i++ ) { Node node = element.node(i);
if ( node instanceof Element ) { if(node.getName()== "link"){ return node.getText(); } rssLink = getRSSLink( (Element) node ); } } return rssLink; } 看了一下想起来了...
==是比较reference...是不是refer to 同一个 instance...
equal就相当于 “内容,值” 上的比较...比较value... 不过匪夷所思的是,为啥两台机器会给出不同的答案... 相当让人抓狂!!!!!!!!!!!!!
也有可能是我Java的版本问题,之前XMPP server用的不晓得啥子Java runtime enviornment,刚才重新装了跟我测试机器上一样的Java runtime。
反正就是一个词形容:
日怪!!!!!!!!!!!!!!!!!!!!!!!
程序杀手绝配日怪的程序 2008/11/9 上网的乐趣是什么!!??同学们!!到底上网的乐趣在哪儿喃?!请来访者踊跃发言嘛!
随便说你自己觉得上网的乐趣是什么,喜欢单纯点连接也好,喜欢看视频也好,喜欢耍网络游戏也好,喜欢聊天也好... 随便说! 2008/10/29 好冷哦...大清早坐到公交车上看书,抬头发现开始飘雪了!
然后它们就继续飘...我继续看书...
抬起头发现出太阳了...我就开始睡觉...
睁开眼睛发现到站了...我就下车了...
帽子罩起缩成一团尽量减少表面积,等到转车............
龟儿子好冷哦.......
都没的钱,在家都开不起暖气........................
当然是假的...节约点钱是真的........................
龟儿子烂地方... 2008/10/28 顿悟RSS更新识别原理了...仍然跟计算机有关... 原谅我写这么无聊的Blog... 做高级东西当中...
刚才在Google Reader上边无聊的时候顿悟了,晓得RSS Reader如何识别你的Blog的RSS是否更新了。
俺的意思是说:
反正我是这么理解的... 至少我看来就只有这么个可行的方法了... 不过如果RSS没有pubDate这个element的话就不好说了....
不过一般的Blog提供商的RSS都有 发布时间 这一项,又不是啥浪费资源的事情,最多多了一行代码。
唉...........主要是自己太笨了......只有安慰哈想些笨鸟先飞之类的来形容哈。 |
|
|