iOS App和Mac App之间的强大实时通信

时间:2011-08-19 21:56:03

标签: objective-c ios macos ipad sockets

我们正在开展展览(http://pulse.media.mit.edu),我是iOS,objective-c和Xcode的新手。展览截止日期是一周,我被困住了。

我遇到的问题似乎很简单。

我们的展览有投影仪和iPad。投影机将连接到Mac并播放视频。 iPad将充当这些视频的控制器。更简单:

我在Mac上有50个视频。我需要在Mac上开发一个应用程序,当打开它时会循环其中一个视频。

在iPad上,我需要开发一款可以实时更改Mac上视频的应用。 iOS应用程序已经设计好了,我们只是在努力解决一些代码问题。

在Mac上,当iPad告诉Mac改变视频时,我们希望它使用Core Animation在视频之间切换,就像这样(http://youtu.be/pyd8O-2mkgk?t=1m)。

所以我的问题是:最有效的方法是什么?它必须能够在博物馆中运行两个月。有些事情需要考虑:

  • 我们距离4000英里,无法一直监控。好 每晚检查一下,看看它是否仍在工作,但它应该运行一天 不打破。
  • 如果有人拔下iPad,它应该还可以使用。
  • 它应该尽可能健壮。

我怎样才能做到最好?我应该从iPad写入数据库到连接的Mac上本地运行的数据库,然后每秒监控该数据库10次吗?套接字是否足够坚固以便单独使用?

如果您确实建议了一种方法,请指点我指向一些可以帮助我快速完成此任务的资源(框架,功能名称等)?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

我会选择中间服务器选项,因为它最容易调试,并且只需要在客户端进行互联网(wifi)连接。遇到连接问题时,您只需知道如何将iPad或Mac连接到互联网。你可以看到服务器端哪个设备连接有问题。

此外,使用普通HTTP听起来是最好的通信方式,后端可以用任何服务器端脚本语言编写。两个客户端应该每隔X秒轮询一次服务器。

如果您在截止日期之前完成了这个基本设置,您可以尝试让设备直接连接到彼此(为了减少用户体验),并将服务器解决方案留在那里作为后备方法。 Mac应用程序可以用作HTTP服务器,接受与iPad通常发送到服务器的命令相同的命令。挑战在于可靠地知道要连接的IP。您可以对其进行硬编码或使用Bonjour。