XMPP中资源/Resource的解释和JID

因为之前写过《使用PyXMPP向GTalk发送消息》一文,最近被一个研究XMPP协议的学妹问到XMPP协议中的资源(Resource)的意思。其实我开始也是一知半解,而且学妹挺诚心的样子,就仔细看了看XMPP协议的文档,这里也感谢这位学妹提供的XMPP协议(RFC3920)的中文版英文版,其实我以前写用pyxmpp的时候也没有仔细看XMPP协议的。

不看不知道,一看吓一跳,原来所谓的Resource和我一直很欣赏的Google Talk的多客户端同时在线的功能有关系,Google Talk就是基于XMPP协议的。
Continue reading

使用PyXMPP向GTalk发送消息

2011年9月23日16:30:54 更新

关于JID,请参考XMPP中资源/Resource的解释和JID


Python有2个package实现了XMPP和Jabber标准:xmpppypyxmpp,哪个好就自然是一个问题。一般公认的看法是pyxmpp是首选,它完全符合XMPP协议,开发也保持活跃的状态,并且最新的版本是2010年发布的。而xmpppy则公认为设计上有不太合理之处,也不完全符合XMPP协议,所以不推荐使用,而且还是在2009年4月份更新的,开源神马的最怕不更新了!
Continue reading

Python对象内置函数__str__

精通Java或者.net的同学在学习Python面向对象的时候总会思考一个问题,Python对象的toString()方法怎么写,怎么样才能print一个对象打印出友好的内容,而不是打印出内存地址?比如定义一个类

class Friend():
    def __init__(self, name):
        self.name = name
 
if __name__ == '__main__':
    friend = Friend('Liang')
    print friend

上面这段代码,在我的电脑上输出

<__main__ .Friend instance at 0x7ff3596c>

我想输出我的朋友的姓名不行么?我想要Java的toString()!
Continue reading