通过流(通过 IP 地址)的 iOS 到 iOS 设备连接

标签 ios objective-c networking network-programming video-streaming

作为最后一个学校毕业项目,我尝试开发一种 spy 车。这意味着一辆小乐高汽车上放置了一部 iPhone,而一部 iPad 则用作汽车的“方向盘”。此外,还计划将音频和视频从 iPhone 的麦克风/摄像头传输到 iPad(超过转向数据,反之亦然)。 首先,从 iOS 到 iOS 的连接应通过本地 WiFi 网络建立,然后 - 如果可能 - 通过 3G (通过使用 iOS 设备网络 IP 和 DNS 服务器来处理频繁更改的地址)。

我的问题是:您建议使用哪种技术?我读到了 GameKit、点对点等内容,但我认为这些技术对于以后能够通过 3G 进行通信来说太抽象了。我想我需要更深入地了解沟通进展的低水平。任何可以让我进步的建议都将受到高度赞赏! (也关于我项目的其他部分)

还有一件事:一些用户建议使用第三方服务并通过外部服务器路由发送的(视频)数据。如果可能的话,我宁愿不使用任何“中间人”。它应该只是一个基本的服务器-客户端通信,其中 iPad 是服务器,iPhone 是客户端。

最佳答案

这是一个开放式问题,但很有趣。

首先,GameKit 确实有 3g p2p 支持,请参见这里: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Matchmaking/Matchmaking.html

它将处理点对点寻址和套接字的建立。它还可以处理语音聊天,但我个人从未尝试过此功能,所以我不能说它是否适合您的情况。

一个想法是利用现有的视频聊天服务。这将为您提供具有点对点寻址的低延迟音频/视频 channel (好吧,可能使用中央服务器)。

Apple 的 FaceTime 就是这样一种服务,但它没有公共(public) API(据我所知)。 Skype 和 Google 也是如此。

有一些付费服务看起来有很好的 iOS API:

你必须想出一种方法来向对等iPhone传输控制命令,我没有看到上面的服务是否有可能发送短信/任意数据。

Tokbox 有免费试用版,因此您可以尝试一下,看看它是否适合您。

如果这是一个预算有限的爱好项目并且有时间进行黑客攻击,我会选择 GameKit,如果有截止日期,我可能会考虑更高级的 API...

关于通过流(通过 IP 地址)的 iOS 到 iOS 设备连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082955/

相关文章:

ios - SpriteKit-随机生成

ios - 如何分组 PFObjects ?解析/swift

objective-c - 将五个字符串传递给 objective-c xcode 中的方法

objective-c - 将击键发送到 shell 应用程序?

networking - Docker 容器的多个静态 IP

linux - 在 ubuntu 中使用互联网设置 NTP 服务器

ios - Swift Cocoa Touch 自定义单元格为 IBOutlets 返回 nil

ios - 在没有 iCloud 帐户的情况下使用带有 CloudKit JS 的 android 设备

objective-c - Objective-C 字符串文字的预处理器宏值

java - CentOS 4 上 Java 1.6 的相当神秘的 SocketException