benim bildiğim openfirede arkadaşlık olayı şöyle çalışır.genel bir roster grubu olur.Mesela Friends isminde.
Sen bir kişiyi rosterindeki Friends grubuna eklemek istersen ilk önce iq paketi yollarsın.
[code]
public class FriendIQPacket extends IQ {
private String xmlns,JID,userName;
public FriendIQPacket(String xmlns, String JID, String userName){
this.xmlns = xmlns;
this.JID = JID;
this.userName = userName;
}
@Override
public String getChildElementXML() {
return "<query xmlns=\""+xmlns+"\"><item jid=\""+JID.toLowerCase()+"\" name=\""+userName+"\"><group>Friends</group></item></query>";
}
}
[/code]
karşıdaki kişinin jid i adını vs gönderirisin.Daha sonra arkasınada subscribe presencesi gönderirsin karşı tarafa.
[code]
Presence subscribePresence = new Presence(Presence.Type.subscribe);
subscribePresence.setDefaultXmlns(Config.DEFAULTXMLNS);
subscribePresence.setTo(userList.get(position).getUserJID().toLowerCase());
Model.getInstance().getConnection().sendPacket(subscribePresence);
[/code]
kendi kodlarımdan kopyaladım kafan karışmasın burada.
karşı tarafta bu subscribe presenceyi yakalar ve subscribed sonucu dönderip oda bi iq paketi yollar sana Friends'e eklemiş halde.
bu sayede ikinizde birbirinizin rosterinde Friends şeklinde görünmüş olursunuz.