我正在实施XMPPStreamManagement XEP-198 ,但我的上一条消息多次重复
// Check to see we resumed a previous session
NSArray *stanzaIds = nil;
if ([_xmppStreamManagement didResumeWithAckedStanzaIds:&stanzaIds serverResponse:NULL]){
// Situation A
}else {
// Situation B
//[self goOnline];
[self.xmppStream sendElement:[XMPPPresence presence]]; // send available presence
if ([sender supportsStreamManagement]) {
[_xmppStreamManagement enableStreamManagementWithResumption:YES maxTimeout:0];
}
}
之后我在xmpp上启用了流Stream Is Authenticate委托方法
App1
请建议我在哪里&如何,我解决重复的消息重复,也没有调用XMPPStreamManagement委托方法的
答案 0 :(得分:0)
为避免邮件重复,您应在邮件ID的末尾添加唯一性检查。由于每个消息包都包含唯一ID,因此您应该检查该ID以避免重复消息。
<message from='userA@yourdomain.io' to='userB@yourdomain.io' id='msg_1'>
<body>Shall we meet?</body>
</message>