這幾天一直研究基于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
冰是沒有未來的,因為它的永恒 閱讀(2207)
評論(2) 編輯 收藏 所屬分類:
flex