一个iPhone应用程序,通过TCP连接到远程服务器.使用场景是:
假设如果应用程序30分钟内没有向服务器发送数据,服务器将关闭连接.即使用户什么也不做,我想让连接保持120分钟.
案例1:如果应用程序在前台,我可以使用计时器向服务器发送一些无用数据.没问题.
案例2:如果用户按下主页并且应用程序转到后台,我该怎么办?我不想表现出警告或某些事情来打断用户(他不在或正在玩游戏).我只想让连接保持更长时间,当用户回到应用程序时,他发现连接仍然存在并且对此感到满意.
我已阅读有关iphone API的后台执行,多任务处理和本地通知的文档.我不确定能否达到案例2.
仅使用合法的API,不进行越狱.
我正在为iOS编写VoIP应用程序,但当App处于后台时,它会停止接听电话.当应用程序再次处于活动状态时,所有排队的消息都会开始处理.
以下是我所做的.
在构建应用程序时,我将IP语音以及音频和AirPlay添加到plist文件中.然后我标记了websocket连接,NetworkServiceTypeVoIP如你在这里看到的那样.
我没有设置保持活动超时处理程序,因为如果应用程序不会唤醒以接听呼叫,则注册无关紧要.任何帮助将不胜感激.
应该注意的是,这是我的第一个Swift项目,我对iOS平台不是很熟悉.
我正在开发基于SIP和VoIP的iOS应用程序,并且要求应用程序应该在后台连续运行.我正在使用pjsip lib.
我知道要在bacground中运行iOS应用程序,我们需要这个
使用voip值在Info.plist中设置UIBackgroundModes键
创建了一个我传递给setKeepAliveTimeout的处理程序:handler:用于保持连接活动
但我只是希望如果我的应用程序在后台运行,我可以通过(RTP/RTCP)接收UDP数据包,而我保持UDP端口始终打开.
我已经完成了这些帖子:
但是,我还没有清楚地意识到,即使应用程序处于后台或前台,我们也可以连续获取UDP数据包.
因此,如果iOS客户端应用程序中有任何数据,应用程序应该能够通知用户.
请给出建议.