【问题标题】:Bonding cellular and Wi-Fi connections in iOS在 iOS 中绑定蜂窝和 Wi-Fi 连接
【发布时间】:2015-04-22 13:31:03
【问题描述】:

我想结合 wi-fi 和蜂窝网络接口来增加我的一个 iOS 应用程序中视频上传的带宽。例如,如果我使用 500KBPS 的 3G 连接和 1MBPS 的 WIFI,加起来应该有 1.5MBPS。

到目前为止,我能够列出此处提到的网络接口的名称:How do I get the currently connected network interface name using Cocoa or Foundation?

例如,“Dejero Live+ 移动应用”能够做到这一点:https://itunes.apple.com/ca/app/dejero-live+-mobile-app/id517063387

我还浏览了为 Android 指定的论坛:https://sites.google.com/site/lotuseaterarpit/news/3g4gwififorandroidconcurrently

也经历过这个https://stackoverflow.com/questions/20061655/simultaneous-use-of-cellular-and-wifi-ad-hoc-in-ios-7,但不明白需要做什么。

请建议我们如何在 iOS 中进行操作?任何信息都会有所帮助。

谢谢, 湿婆。

【问题讨论】:

  • 这在当前的 iOS SDK 中是不可能的。
  • @rckoenes :您看过 Dejero 应用程序吗? (itunes.apple.com/ca/app/dejero-live+-mobile-app/id517063387)在应用商店中,他们在引用时就像在绑定一样。请检查一次。
  • 嗯,在当前的 SDK 中没有这个选项,你可能会处理一些绑定到某个网络接口的套接字。但我不确定这是否可能。此外,我没有看到任何提及您链接到的应用程序关于边界的内容。
  • 您可以在第一点所说的主要功能中看到它: • 通过绑定的蜂窝和 Wi-Fi 连接提供高质量视频
  • 谁能帮我解决这个问题?

标签: ios objective-c iphone


【解决方案1】:

你当然可以

  1. 您应该使用本机 C 代码。
  2. 您应该使用 bind() 调用为每个接口指定 IP 地址。
  3. 由于 (2),您应该创建很多套接字。
  4. 您应该在收到可达性通知时创建新的套接字并垃圾收集旧的套接字。
  5. 您应该在每次网络条件发生变化时枚举当前接口。

您可以在我的要点中找到一些见解: https://gist.github.com/avesus/fdb465b60a4f5204845c

【讨论】:

  • 谢谢阿维苏斯。有没有办法使用 HTTP 而不是绑定套接字?正如我所读到的,它可以在网络堆栈的三层上完成,例如 TCP (MPTCP)、套接字和 HTTP 层 (varun-anand.com/publications/Thesis.pdf)。我想在 HTTP 层这样做。
  • 不,您绝对应该学习 BSD 套接字编程,将 TCP 连接流式传输到您的第 3 方 HTTP 客户端。你应该亲手写代码。
  • 另外,我的要点示例是关于 UDP,但对于 TCP,一切都是一样的。只需查看 GitHub 上的任何 HTTP 客户端库。没有智能 API。没有简单的代码。苹果和谷歌希望你使用他们给你的 IP!奇怪的阴谋论,对吧? (在 Android 上,他们应该对 ConnectivityManager 进行一个特殊的 Java 调用来设置移动优先级!什么?!!)所以,事情一年比一年糟糕,这都是因为我们周围的坏程序员懒惰。
猜你喜欢
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-07
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 2012-02-01
相关资源
最近更新 更多