【发布时间】:2017-10-22 05:18:15
【问题描述】:
-
我正在实施 XMPPStreamManagement XEP-198,但我的最后一条消息重复了多次
_xmppStreamManagement = [[XMPPStreamManagement alloc] initWithStorage:[XMPPStreamManagementMemoryStorage new]]; // And then configured however you like. // This is just an example: _xmppStreamManagement.autoResume = YES; _xmppStreamManagement.ackResponseDelay = 0.2; [_xmppStreamManagement requestAck]; [_xmppStreamManagement automaticallyRequestAcksAfterStanzaCount:3 orTimeout:0.4]; [_xmppStreamManagement automaticallySendAcksAfterStanzaCount:10 orTimeout:5.0]; [_xmppStreamManagement addDelegate:self delegateQueue:dispatch_get_main_queue()]; [_xmppStreamManagement activate:self.xmppStream]; -
之后我在 xmpp Stream 上启用了流并验证了委托方法
// 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]; } } 请建议我在哪里以及如何解决重复的消息重复,也不调用 XMPPStreamManagement 委托方法的
【问题讨论】:
标签: ios objective-c chat openfire