我正在开发一个VoIP应用程序。当我的应用程序在后台时,我需要检查服务器是否仍在那里。因此我尝试使用 setKeepAliveTimeout:handler:在app处于后台时对服务器进行民意调查。
问题是:如何确保在我向服务器发送轮询消息后的5秒内收到响应或超时?如果我在5秒钟内没有收到响应/超时,则只有在 keepAliveTimeout 时间之后才能知道服务器已经死亡的下一次机会。
据我所知,我无法在 setKeepAliveTimeout:handler:中设置NSTimer,因为我们处于后台(并且NSTimer依赖于运行循环)。
我看到其他可能性:make while循环并检查其中的当前时间。虽然我想避免做繁忙的循环。
您能否建议我如何实现所需的行为?