根據openfire原始碼的提供,其中subscriptionplugin這個外掛程式已經實現了自動新增了好友的功能,但好我專案的的要求還是有些不一樣,我根據原始碼中的內容自己編寫了乙個外掛程式,關鍵**如下:
public static void acceptsubscription(packet packet ,presencerouter router) throws packetrejectedexception
}presence presence = new presence();
presence.settype(presence.type.subscribed);
presence.setto(packet.getto());
presence.setfrom(packet.getfrom());
router.route(presence);
string tousername = packet.getto().getnode();
try
// 新增乙個分組為fans的名
listgroups = new arraylist();
groups.add("fans");
rosteritem item = new rosteritem(packet.getfrom(), rosteritem.sub_both, rosteritem.ask_none, rosteritem.recv_none, nickname, groups);
rostermanager.getrosteritemprovider().createitem(tousername, item);
// 將狀態設定為 「相互為好友」
iteratorrosteritemiterator= rostermanager.getrosteritemprovider().getitems(packet.getfrom().getnode());
if (rosteritemiterator != null)}}
cache cache = cachefactory.getallcaches();
if (cache != null)}}
} catch (exception e)
throw new packetrejectedexception();
}
而在其中,快取的重新整理尤其重要,不然,只有重啟伺服器,你才能看到兩個好友之間才是真正的訂閱關係的! SHUOJ新增好友
tony最近喜歡上了龍之谷遊戲,所以他想叫上他的好友組建乙個公會來一起享受這款遊戲。tony一共有n個好友,他可以叫上任意k 1 k n 個好友來組建公會,並且所有好友都會答應他的請求。問tony一共可以有多少種方案組建這個公會?只要不是完全相同的人組建的方案視為不同方案,並且tony至少要叫上乙個...
xmpp 新增好友 好友狀態監聽
xmpp 新增好友 好友狀態監聽 1.1 a b b delete a a 監聽到 unsubscribed 1.2 b a b delete a a 監聽到 unsubscrib 1.3 a b 或者 b a 被加方收到 subscrib 1.4 a 同意 b 的新增請求 b 收到 subscri...
新增好友功能實現思路
思路 1使用者傳送好友申請之後 把申請儲存到申請資料表中,狀態為 未驗證 2 當使用者登入時,查詢申請表中是否有uid和被申請人id相同的,如果同意,更改狀態,並把資料插入到對應的好友資料表,否則,刪除申請資料表中資料 3,當一方刪除好友時,從被刪除人中刪除刪除人的好友 4 建立分組名稱字段,字段設...