我刚刚为一个大客户提供了一个原型(prototype),一切都很好,但是现在我很想知道我选择的解决方案/体系结构是否正确,或者在项目继续进行的情况下还有改进的地方。

任务是构建两个iOS应用程序:一个在5个不同的iPhone上运行,另一个在2个iPad上运行。基本上,iPhone应用程序必须与iPad交流信息,有时它们还必须在彼此之间(iPhone到iPhone)之间发送信息。小型JSON对象/块大小很小的所有信息,的确很小。

该应用程序并非旨在到达应用程序商店,而是一个可以在用户测试环境中测试一些想法的有效原型(prototype)。

我丢弃了蓝牙,因为我们正在谈论对等通信,而不是一对一通信。

由于SocketIO,我所做的是通过在我的Mac上运行的小型Node.js服务器使用Web套接字。服务器真的很简单,只接收来自客户端的消息并向其他客户端广播信息。

你怎么看?我选择的解决方案是否还可以,或者有更好的解决方案?

例如,今天早上我刚发现these thread here on SO,发现可以使用GameKit。你怎么看?

最佳答案

Socket.IO很不错,因为它实现起来很简单,但是它的缺点是需要中央服务器。如果要避免这种情况,可以使用iOS 7中引入的Multipeer Connectivity框架。

它使您可以在同一WiFi网络或蓝牙上的设备之间创建一对一的通信 channel 。创建 channel 后,您可以发送整个NSData对象(或创建流,但它似乎与您的用例无关)。

读一读:http://nshipster.com/multipeer-connectivity/

10-01 04:32
查看更多