我想基于openfire做一些改动,目的是:增加一个“活动”概念,用户可以自由新建一个“活动”,或者加入一些已存在的“活动”,这个活动变化频率比较大,可能一个用户几分钟就退出或者更换一个“活动”。
目前思路如下:
1.openfire程序增加维护一个hashtable,用来存储“活动”信息,其中“活动”Id为key,用户的ID以分号分割,当做value;
2.客户端向server发送消息,比如这个用户加入或者创建了什么样的活动;
3.server根据客户发过来的消息,对“活动”的hashtable做出改动;
4.server再根据hashtable里面的记录广播通知目前已经参加到这个“活动”用户。
5.客户可以向server发送消息,进行查询一个活动都有哪些用户已经参与了。
请问
1.大家对这个思路有什么意见或者建议么?
2.客户端发送消息,消息格式应该定义成什么样子?是在IQ节里面扩展么?还是可以增加除了IQ,Message,Presence以外的另外一种XML节点?多谢赐教!!!