iOS版。在setKeepAliveTimeout中测量时间:handler:在等待服务器响应时

时间:2014-01-10 11:14:10

标签: ios iphone objective-c multithreading voip

我正在开发一个VoIP应用程序。当我的应用程序在后台时,我需要检查服务器是否仍在那里。因此我尝试使用 setKeepAliveTimeout:handler:在app处于后台时对服务器进行民意调查。

问题是:如何确保在我向服务器发送轮询消息后的5秒内收到响应或超时?如果我在5秒钟内没有收到响应/超时,则只有在 keepAliveTimeout 时间之后才能知道服务器已经死亡的下一次机会。

据我所知,我无法在 setKeepAliveTimeout:handler:中设置NSTimer,因为我们处于后台(并且NSTimer依赖于运行循环)。

我看到其他可能性:make while循环并检查其中的当前时间。虽然我想避免做繁忙的循环。

您能否建议我如何实现所需的行为?

0 个答案:

没有答案