【问题标题】:How to keep socket alive in ios?如何在 ios 中保持套接字处于活动状态?
【发布时间】:2012-05-09 07:17:29
【问题描述】:

我正在 iPhone 上做一个 VOIP 项目。我有保持套接字活动的问题。 我已经为 VOIP 配置了一个套接字,并为CFReadStreamRefCFWriteStreamRef 设置了kCFStreamNetworkServiceTypeVoIP

  • 当我的应用程序在前台运行并且我不执行任何操作时,1 分钟后 iPhone 将进入睡眠状态,黑屏。我的套接字仍然连接到服务器。
  • 但是当我的应用程序在前台运行时,我按下主页按钮,并且不执行任何操作,大约 1 分钟 iPhone 将进入睡眠状态,然后我的套接字 与服务器断开连接

请帮帮我。

【问题讨论】:

    标签: ios sockets background voip


    【解决方案1】:

    首先,你读过Tips for Developing a VoIP App吗?根据您的描述,您似乎没有将UIBackgroundModes 设置为voip。您可能还需要配置一个保持活动处理程序。

    【讨论】:

    • 我已经将 UIBackgroundModes 设置为 voip 和音频。问题是当我的应用程序没有在 forceground 中运行时,iphone 进入睡眠状态。我的插座断开了。谢谢你的回复。
    • 你有没有解决过这个问题,我在不同的移动操作系统上遇到了同样的问题,即套接字在 1 分钟后运行。
    • 能否在不使用诸如在后台使用音频或 voip 或定位服务之类的技巧的情况下解决此问题??
    • 您不能在后台保持套接字处于活动状态。苹果禁止这样做,操作系统会杀了你。您可以注册为 VoIP 应用(如果您是 VoIP 应用),并注册一个套接字,操作系统将在其上有数据时监听并唤醒您。
    猜你喜欢
    • 2012-07-08
    • 2013-06-12
    • 2013-09-23
    • 2018-04-13
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    相关资源
    最近更新 更多