我们也来玩玩twitter

April 27th, 2007 by admin Leave a reply »

时下twitter大热,想自己搞一个玩玩,一开始就定位于跟IM结合,觉得想法特nb,哈哈

在colinux的debian上装了个jabberd,很简单:

apt-get install jabber

初次接触不了解jabber的规范,在用gaim尝试连接时经历了些许曲折。
jabber client不支持用ip访问jabber服务,必须通过主机名/域名,而这个主机名/域名是要在jabber.xml里面设置的,就是host这一项。

hostname测试好了,就找小love加个DNS解析,将jabber.corp.tudou.com指向我的机器,而我这机器是colinux的host,这是要先做一个端口转发的。jabber一般用得上两个通讯端口:

一个用于“客户-服务器”通讯(端口 5222),另一个用于“服务器-服务器”通讯(端口5269)

于是,用域名方式访问也能顺利联通了,还跟lex,micheal,codeall作了测试,lex同学很鄙视的说,这个东西不支持语音,也不支持群聊。我说,voip是支持的,要看客户端,群聊也是支持的,但它是chatroom的方式,而不是qq群的模样。大致google了一下xmpp规范,好像也没提到这概念。

好了,下面正式开始。
找个可以完成基本 jabber client 功能的php class。
google了一通,找到这里:http://code.blitzaffe.com/pages/phpclasses/files/jabber_client_52-11

做了个测试,连上jabber server,登录,改状态,收发信息,一切正常。
最后发现这堆代码里面有两个小bug,一是没有判断某个变量是否数组就直接foreach,二是jabber这个类构造函数的唯一参数是没有默认值的,结果调用的时候一不小心就报错。

接下来做什么呢?列一下:
1、mysql里面建一个表jabber_msg
2、写一个脚本,每隔3分钟登录jabber server,将接收到的message即时insert into jabber_msg
3、再写一个脚本,读取jabber_msg,列出msg

然后呢?
1、如果不是insert into jabber_msg而是调用wordpress的xmlrpc,
2、如果不是自私的用于blog而是无私的用于集体组织内部,那么我们都可以通过gtalk或者任何jabber client告诉集体,你在做什么。
举出例子最实际:http://twittervision.com
你就明白我们可以做到什么。

或许有一天,打开土豆的某个页面,就可以看到那一刻所有人在什么地方做什么

以上尚处于自娱自乐阶段,如果我要将这个上sandbox,不知道会不会被众人bs,哈哈

Advertisement

1 comment

  1. 炎藤 says:

    你的博客内容输出有问题
    我用这个订阅的
    http://yegq.yeax.com/wp-rss2.php

    内容段落都乱掉了
    根本没有段落之分--!

Leave a Reply