1.创建一个聊天室
1.1 聊天室的创建。
1.2 聊天室的保存
1.3 代理方法
2.加入聊天室
2.1 成功加入聊天室
2.2 配置聊天室的信息
3.邀请其他人加入聊天室
3.1 其他人同意加入聊天室
3.2 其他人拒绝加入聊天室
4.销毁聊天室
4.1 其他人都离开聊天室
4.2 主动销毁聊天室
上面是一些可见的流程上的,实际情况需要对应到具体的代理方法。
2018年01月04日
之前用测试网络环境,创建了聊天室之后也没有设置,直接邀请其他人加入聊天室就可以了建立起一个群里了。但是昨天切换到正式的环境(也就是更换了xmpp服务器,IP换了openfire域名由muc改为conference)发现邀请的其他人同意加入群聊之后,一直没有回调-(void)xmppRoomDidJoin:(XMPPRoom *)sender
方法。反复测试之后确定是没有成功加入聊天室但是一直到不到原因,- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence
偶然查看了这个方法的log<error code="404" type="cancel"><item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></item-not-found></error>
才发现错误是
<presence
from='darkcave@macbeth.shakespeare.lit'
to='hag66@shakespeare.lit/pda'
type='error'>
<error code='404' type='cancel'>
<item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</presence>
google7.1.12 Locked Room
才知道应该是创建聊天室成功之后,应该要设置一下。将聊天室设置为public之后成功解决了这个问题。
参考资料
创建群组
ios xmpp+openfire 群聊
XEP-0045: Multi-User Chat
XMPP系列(六)---创建群组
XMPP - 多人聊天
网友评论