首页 文章

PushKit Framework,它是如何工作的?

提问于
浏览
3

我对iOS SIP应用程序的理解或说VOIP应用程序是:

它是服务器和设备之间的持久TCP连接 . 一旦呼叫请求到来,它就会与服务器 Build 与其他设备的RTP连接 . 现在,您可以在此连接上交换语音或其他数据包并进行实时呼叫 .

使用Push Kit框架,我很困惑,它是如何工作的?

问题:

  • 当应用程序转到后台时,我的VOIP TCP连接仍然存在或已关闭?

  • 如果关闭,在获得VOIP APNS之后,SIP协议究竟是如何处理其主TCP连接的?

  • 当VOIP APNS进来时我们是否必须 Build 连接?如果在那时由于某种原因 Build TCP失败怎么办?

  • 我们在SIP服务器上需要做哪些改变才能实现这一目标?

可能是我的全部理解在这里是错误的 . 但我想知道关于VOIP应用程序如何与APNS协同工作的流程架构 .

我尝试通过互联网查看各种文章,但我对Push-Kit的VOIP-APNS的理解是,它会在后台唤醒你的应用程序,但是他们无法澄清我的上述问题 .

任何人都可以对这个话题有所了解 .

1 回答

  • 1

    1当应用程序转到后台时,我的VOIP TCP连接仍然存在或已关闭?

    是和否,当应用程序在iOS 9或更早版本上运行后,如果您进行了编程,它将保持连接,即这里有实时TCP连接的机会 .
    但是在iOS 10中,一旦它处于后台,app就永远不会在任何条件下活着,即没有实时TCP连接的范围 .

    2如果关闭,在获得VOIP APNS后,SIP协议与主TCP连接的工作原理是什么? 3当VOIP APNS进入时,我们是否必须 Build 连接?如果在那时由于某种原因 Build TCP失败怎么办?

    一旦应用程序处于后台并且TCP连接关闭,在收到PushKit通知后,iOS将唤醒应用程序,那时我们需要运行代码片段再次与服务器 Build TCP连接 .
    如果这次TCP连接失败,那么用户将无法获得语音,我们需要再次运行代码片段来连接TCP .

    4我们在SIP服务器上需要做哪些改变才能实现这一目标?

    对于服务器端,它与APNS(常规推送通知)完全相同 . 见this SO post

相关问题