Xmpp Ejabberd MucSub:当成员发送状态不可用时,服务不响应
我正在与Ejabberd19.09和mucsub进行持续的小组对话 当组成员发送状态不可用时,有时服务器根本不响应。 如果我们在发送状态不可用之前的状态可用后重复相同的测试,服务器会做出响应。 无论如何,显然,我们的房间占用率没有变化 这是预期的行为吗 第一次测试: 复制第一次测试的步骤:Xmpp Ejabberd MucSub:当成员发送状态不可用时,服务不响应,xmpp,ejabberd,multiuserchat,Xmpp,Ejabberd,Multiuserchat,我正在与Ejabberd19.09和mucsub进行持续的小组对话 当组成员发送状态不可用时,有时服务器根本不响应。 如果我们在发送状态不可用之前的状态可用后重复相同的测试,服务器会做出响应。 无论如何,显然,我们的房间占用率没有变化 这是预期的行为吗 第一次测试: 复制第一次测试的步骤: 管理员test1创建一个房间roomX(仅限会员) 管理员test1邀请并订阅用户test2 理由 邀请被自动接受,用户test2现在是会议室成员,他可以发送消息并订阅所有活动 成员test2想要放弃
test1
创建一个房间roomX
(仅限会员)
test1
邀请并订阅用户test2
理由
test2
现在是会议室成员,他可以发送消息并订阅所有活动test2
想要放弃房间,并发送状态类型=不可用
离开
结果:
- 服务不响应成员请求
- 房间占用率没有变化:会员的从属关系仍然有效 “成员”,角色仍为“成员”,订阅仍处于活动状态
test1
创建一个房间roomX
(仅限会员)test1
邀请并订阅用户test2
test2
现在是会议室成员,他可以发送消息并订阅所有活动test2
发送一个presence type=available(理论上这是多余的,但它是作为此测试的一部分特意制作的)
test2
想要放弃房间,并发送状态类型=不可用- 服务回应会员
- 房间占用率没有变化:会员的从属关系仍然有效 “成员”,角色仍为“成员”,订阅仍处于活动状态
我认为你错过了第一步,那就是:
<presence to='test2-157@conference.x.com/test1' id='s6MLD-390'><x xmlns='http://jabber.org/protocol/muc'></x></presence>
此测试的目标不是拒绝邀请(这很好),而是在成为组成员一段时间后离开组。在“第一次测试”中,我不发送状态,但在mucsub中,加入是自动的。在“第二次测试”中,我发送您指示的内容,检查代码块,以以下开头: