用于远程通知的iOS multiple fetchCompletionHandler

用于远程通知的iOS multiple fetchCompletionHandler,ios,background,push-notification,Ios,Background,Push Notification,我正在用iOS制作一个即时通讯器,我很难理解后台远程通知是如何工作的。我正在使用XMPP来管理消息传输,这将转换为TCP持久连接。然后我有以下场景: 我在后台发送应用程序以关闭连接 推送通知到达,因为调用了一条新消息,application:didReceiveMemotentification:fetchCompletionHandler,然后我重新建立连接以下载消息并上载消息已接收的回执;最后,我断开TCP连接(保留在后台) 在调用completionHandler传递相应的UIBackg

我正在用iOS制作一个即时通讯器,我很难理解后台远程通知是如何工作的。我正在使用XMPP来管理消息传输,这将转换为TCP持久连接。然后我有以下场景:

  • 我在后台发送应用程序以关闭连接
  • 推送通知到达,因为调用了一条新消息,
    application:didReceiveMemotentification:fetchCompletionHandler
    ,然后我重新建立连接以下载消息并上载消息已接收的回执;最后,我断开TCP连接(保留在后台)
  • 在调用
    completionHandler
    传递相应的
    UIBackgroundFetchResult
    之前,另一个远程通知到达,导致与前一点相同的行为
此时,我要调用两个
completionHandler
s

我的问题是:当我调用第一个
completionHandler
时,实际会发生什么?连接是断开还是在调用第二个连接之前不断开