iOS应用程序之间的通信安装在同一LAN上的不同设备上

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

任务是构建两个iOS应用程序:一个在5个不同的iPhone上运行,另一个在2个iPad上运行.基本上iPhone应用程序必须将信息传递给iPad,偶尔他们还必须在彼此之间发送信息(iPhone到iPhone).所有小JSON对象/块的信息,其大小很小,非常小.

该应用程序并非旨在访问应用程序商店,是一个在用户测试环境中测试一些想法的工作原型.

我放弃了蓝牙,因为我们谈论的是点对点通信,而不是一对一的通信.

我做的是使用网络套接字,感谢SocketIO,通过我的mac上运行的一个小型Node.js服务器.服务器非常简单,只是从客户端接收消息并将信息广播到其他客户端.

你怎么看?我选择的解决方案是否正常,还是有更好的解决方案?

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

最佳答案
Socket.IO很好,因为它实现起来相当简单,但它有一个需要中央服务器的缺点.如果您想避免这种情况,可以使用iOS 7中引入的Multipeer Connectivity框架.

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

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

转载注明原文:iOS应用程序之间的通信安装在同一LAN上的不同设备上 - 代码日志