openfire提供了很好的外掛程式支援,安裝也非常方便。
下面介紹一個使用Broadcast外掛程式實現的簡單群
Broadcast外掛程式是一個向使用者發送廣播訊息的外掛程式。
安裝外掛程式
登入openfire管理主控台-外掛程式-外掛程式管理-有效外掛程式
可以看到開放原始碼外掛程式列表
找到Broadcast 點擊右則的‘+’號安裝即可
然後到外掛程式管理-外掛程式中
可以看到Broadcast已經在安裝的外掛程式列表中
Broadcast可以通過系統屬性來進行配置
plugin.broadcast.serviceName
Broadcast的服務名,如果沒有設定,預設的就是 "broadcast".
plugin.broadcast.disableGroupPermissions
組廣播授權,設為'true',允許任何使用者對組中發送廣播
設為'false',只有群組成員或管理員可以向一個組中發送廣播
預設值是'false'
plugin.broadcast.groupMembersAllowed
群組成員廣播授權,設為'true',允許群組成員對組中發送廣播
設為'false',只有管理員可以對組中發送廣播
預設值是'true'
這個配置只有在plugin.broadcast.disableGroupPermissions為'false'才有效
plugin.broadcast.allowedUsers
指定使用者廣播授權,設定只允許使用者的成員發送廣播
如果沒有指定,任何使用者都可以對所有使用者廣播
指定使用者的格式為完整的JID ( hety@testserver.cn)
我們假設有這樣一個群應用的環境:
在公司專屬應用程式中所有的好友都是同事,群中的成員也是所有的同事
任何人都可以在群中發言
這樣broadcast的組授權設定就可以不用
全部使用預設設定,serviceName也用預設的‘ broadcast’ :)
這樣就可以用下面的資料包發送一個群訊息
發送的資料包 Java代碼
- <message from="cl@testserver.cn/xiaoe" id="xiaoeiq-8" to="all@broadcast.testserver.cn" type="chat">
- <body>hello group</body>
- <thread>xiaoeiq-9</thread>
- <x xmlns="jabber:x:event">
- <offline/><composing/>
- </x>
- </message>
<message from="cl@testserver.cn/xiaoe" id="xiaoeiq-8" to="all@broadcast.testserver.cn" type="chat"><body>hello group</body><thread>xiaoeiq-9</thread><x xmlns="jabber:x:event"><offline/><composing/></x></message>
在此openfire伺服器上的所有使用者都將收到這條訊息
而用戶端實現很方便,只需要判斷message.to 為all@broadcast.testserver.cn
就可以將它顯示在群視窗中了