如何在ios中可靠地保持voip应用程序的活动?
我有一个基于webrtc的ios voip应用程序。我还有一个用nodejs制作的信令服务器。我可以毫无问题地连接到服务器并拨打电话。但准确跟踪(在线/离线)状态是一个问题 为了记录在案,这里列出了我为确保稳定连接所做的一切:如何在ios中可靠地保持voip应用程序的活动?,ios,node.js,sockets,cocoa-touch,ios8,Ios,Node.js,Sockets,Cocoa Touch,Ios8,我有一个基于webrtc的ios voip应用程序。我还有一个用nodejs制作的信令服务器。我可以毫无问题地连接到服务器并拨打电话。但准确跟踪(在线/离线)状态是一个问题 为了记录在案,这里列出了我为确保稳定连接所做的一切: 设置背景模式“IP语音” 使用“[inputstream setProperty:NSStreamNetworkServiceTypeVoIP”将inputstream标记为voip流 forKey:NSStreamNetworkServiceType];“ 通过在pli
- 启动应用程序并登录应创建到服务器的持久连接(works)
- 远程登录到服务器并键入send_ping使服务器向客户端发送“ping”,客户端应将“pong”发送回(工作)
- 将设备置于待机状态不应对上述乒乓机制产生影响(不工作)
- 将设备置于待机状态并在几个小时后解锁,然后向其发送ping应该会使客户端发回一个pong(正常工作)
- 应在服务器端检测到关闭客户端的wifi(未启用手机)并关闭插座(不工作)
推送通知和voip推送通知可能是一种解决方案,但它们也有点不可靠。应该有一种方法可以让它在100%的时间内工作。最后,你采用了什么方法?@Sandy我们仍然没有一个100%工作的解决方案,但我们发现了一些有用的东西。首先,CentOS在我们的连接中断中起到了一定作用,将node.js服务器移动到Windows主机解决了80%的问题。我们现在使用voip推送来覆盖最后一点,现在几乎完美了。