作为最后的学校毕业项目,我尝试开发一种间谍车。这意味着有一个iPhone放置在一个小型乐高车上,一个iPad用作"方向盘"对于汽车。此外,它还计划将iPhone的麦克风/摄像头的音频和视频传输到iPad(反之亦然)。 首先,应该通过本地WiFi网络建立从iOS到iOS的连接,然后 - 如果可能的话 - 通过3G建立连接(通过使用iOS设备network-IP和DNS服务器来处理频繁更改的地址)。
我的问题是:您推荐使用哪种技术?我读到了GameKit,点对点等等,但我认为这些技术过于抽象,以至于无法通过3G进行通信。我想我需要更深入地了解沟通进度的低水平。任何可以让我向前迈进的建议都非常感谢! (也是关于我项目的其他部分)
还有一件事:某些用户建议使用第三方服务并通过外部服务器路由发送的(视频)数据。如果可能的话,我宁愿不使用任何"中间人"。它应该只是一个基本的服务器 - 客户端通信,其中iPad是服务器,iPhone是客户端。
答案 0 :(得分:1)
这是一个开放式的问题,但很有趣。
首先,GameKit确实有3g p2p支持,请看这里: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Matchmaking/Matchmaking.html
它将处理套接字的对等寻址和建立。它也可以处理语音聊天,但我个人从未尝试过这个功能,所以我不能说你的情况是否可行。
一个想法是利用现有的视频聊天服务。这将为您提供具有点对点寻址的低延迟音频/视频通道(很可能使用中央服务器)。
Apple的FaceTime就是这样一种服务,但它没有公共API(AFAIK)。 Skype和谷歌也一样。
有些付费服务看起来像是有不错的iOS API:
你必须找到一种方法将控制命令传输到对等iPhone,我没看到上述服务是否有可能发送短信/任意数据。
Tokbox有一个免费试用版,所以你可以尝试一下,看看它是否适合你。
如果这是一个预算上的业余爱好项目并且有时间进行黑客攻击,我会选择GameKit,如果有截止日期,可能会考虑使用更高级别的API ...
答案 1 :(得分:1)
抱歉写这个作为答案,但我没有足够的代表发表评论...... 我正在研究一个类似的项目,我目前没有任何关于视频流的建议,但是,从我读到的(广泛地)我得出的结论是我需要在设备之间使用p2p连接以获得更好的性能和使用socket编程才能实现这一点(虽然不是最容易实现的选择)。 我考虑使用 GameKit,我认为这可能会满足你的大部分需求,因为Krumelur指出。但在我的情况下,最终应用程序将跨平台,所以我不得不使用低级网络编程。你可以查看我的问题here,看看我曾经尝试过的来源和两个同伴之间的联系,希望你的运气比我好......