这几天一直研究基于XMPP协议的即时聊天的开发。服务端用的是开源的openfire,客户端使用基于开源的xiff 的flex开发。要求是:用户的信息自己定义。
首先,服务端(openfire)的修改。如果你要定义用户的信息,例如增加性别。首先你要实现VCardProvider的接口为xxxVCard。在这里说明一些,VCardProvider是主要提供用户的详细信息。默认的有很多,例如电话号码等等。同时在,database的ofProperty修改name=‘ provider.vcard.className’的value为你的接口。在实现VCardProvider的method public Element loadVCard(String username) {}的时候你可以自己定义ELement中的content。例如:<vcard xmlns="vcard-temp"><NICKNAME>ann</NICKNAME></vcard>服务端ok了。
其次,客服端的修改:xiff中有相应的VCard Model。我们只需要修改org.jivesoftware.xiff.vcard.VCard 例如:在 handleVCard(iq:IQ):void){
}的中添加 case "NICKNAME":
var nicknameNode:XMLNode = child.childNodes[0];
if(nicknameNode)
nickname = nicknameNode.nodeValue;
break;
这里是比较简单的介绍。
posted on 2008-10-10 17:25
冰是没有未来的,因为它的永恒 阅读(2199)
评论(2) 编辑 收藏 所属分类:
flex