现在的位置: 首页 > 综合 > 正文

gloox 之 MessageHandler

2014年02月27日 ⁄ 综合 ⁄ 共 771字 ⁄ 字号 评论关闭

MessaeHandler是一个接收到达消息的接口,必须被重新实现。
 
详细说明:
       它的派生类可以作为一个MessageHandler(消息处理器)被一个ClientBase 或MessageSession实例注册。
注册后,当消息包(Message packer)到达时,handleMessage()就会被自动调用。
如果是用一个ClientBase实例注册的,那么任一个消息到达时(无论来自哪个发送者),上述函数就会被调用。
如果是用一个MessageSession注册的,那么只有消息会话(Session's)对应的那个联系的消息到达时,才调用上述函数。
(译注:MessageSession 怎样去注册,请查看 本博"gloox 之 MessageSession ")
(译注:难道为每一个MessageSession注册不同的MessageHandler?
 众多MessageSession共有一个MessageHandler也是可以的吧)
 
析构函数为虚函数
 
virtual void handleMessage(   Stanza*                  stanza,
                                           MessageSession*   session=0
)
欲想要当消息到达时被通知,那就要重新实现此函数。
参数:
 stanza      到达的完整消息节
 session    如果是用MessageSession注册的消息处理器(MessageHandler),它表明了消息是来自哪个
                Session。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/night_cat/archive/2009/06/05/4245634.aspx

抱歉!评论已关闭.