Gtalk采用了xmpp协议,文本聊天基本上是xmpp的一个子集,同时在连接采用了TLS来作为
安全措施。但是gtalk对标准的jabberd通讯协议做了一些修改.
代码在附件里面,使用方法
from GtalkClient import JabberConnection
jbc =JabberConnection('gmail.com','name','pwd','group')
while 1:
jbc.run()
name,pwd分别填写gtalk的账号,group的值随便添,是xmpp协议的概念
JabberConnection里面定义了一些事件响应函数,只做了简单的处理,你可以新建一个继承于JabberConnection的子类,重载事件函数.
class JabberConnection:
'''
notificationfunction should be override
'''
def loggedIn(self):
''' To be overidden '''
print 'LogIn.'
def connectionLost(self, reason):
''' To be overidden '''
print reason
def loginFailure(self, message):
''' To be overidden '''
print message
def serverGoingDown(self):
pass
# retrieved buddy presence list
def listSynchronized(self):
return self.contact_info.items()
def contactLoggedIn(self, jid):
print '%s log in' % jid
def contactStatusChanged(self, jid):
print '%s status changed ' % jid
def userAddedMe(self, jid):
''' user have add me'''
print '%s add me' % jid
def userRemovedMe(self, jid):
''' To be overidden '''
print '%s remove me' % jid
def gotMessage(self, fromjid, msg):
''' To be overidden '''
print '%s:[MSG]:%s' % (fromjid,msg)
# deliver failed notification
def failedMessage(self, tojid, error):
''' To be overidden '''
print '[Error]:%s' % error
/Files/tsbob/gtalk.rar
'''
notificationfunction should be override
'''
def loggedIn(self):
''' To be overidden '''
print 'LogIn.'
def connectionLost(self, reason):
''' To be overidden '''
print reason
def loginFailure(self, message):
''' To be overidden '''
print message
def serverGoingDown(self):
pass
# retrieved buddy presence list
def listSynchronized(self):
return self.contact_info.items()
def contactLoggedIn(self, jid):
print '%s log in' % jid
def contactStatusChanged(self, jid):
print '%s status changed ' % jid
def userAddedMe(self, jid):
''' user have add me'''
print '%s add me' % jid
def userRemovedMe(self, jid):
''' To be overidden '''
print '%s remove me' % jid
def gotMessage(self, fromjid, msg):
''' To be overidden '''
print '%s:[MSG]:%s' % (fromjid,msg)
# deliver failed notification
def failedMessage(self, tojid, error):
''' To be overidden '''
print '[Error]:%s' % error