背景:
我即将开始开发移动和桌面应用程序。它们都将连接到本地 wifi 网络(没有互联网连接),并且需要相互通信。一开始,我们将 iOS 和 Windows 定位为两个平台,目的是按顺序添加 Linux、OSX 和 Android 支持。桌面应用程序主要是一个数据库服务器/通知中心,用于接收来自 iOS 应用程序的更新并将数据发送到其他 iOS 应用程序。桌面应用程序可能有一个前端,但如果需要,我们也可以将其合并到 iOS 应用程序中。
目前我们只希望 iOS 应用程序自动检测它何时与服务器在同一网络上,然后显示该服务器发送的数据(类似 bonjour)。
据我所知,我们可以采取两条途径来实现这一点
为每个平台(Windows、Linux、OSX)创建一个完全原生的应用程序。Pro:我们喜欢使用本地应用程序来提高性能和易于安装的想法。Con:我对 Windows 或 Linux 开发一无所知。
创建一个使用 Web 技术(可能是 python)构建的应用程序,并创建一个易于使用的安装程序,该安装程序将在桌面计算机之外创建一个本地服务器,移动应用程序可以与之通信。优点:大部分开发都是跨平台的,安装程序应该很容易移植。缺点:如果我们确实想向服务器应用程序添加前端,它将不是平台原生的,而是使用 css+html+javascript GUI。
问题:
我的问题是如何在每种情况下实现 iOS 应用程序和服务器应用程序之间的连接。
我将如何通过本地网络接收和发送通知。
如果没有静态 IP,我如何使用 NSURLConnection 连接到服务器?
我希望这很清楚。如果没有,请询问,我会澄清。
2013 年 9 月 6 日更新
希望这能解决问题。我需要一个桌面应用程序来管理数据库,这个应用程序将连接到未连接到互联网的本地无线网络上的 iOS 设备。我可以使用 http 协议(最好使用烧瓶应用程序)或使用应用程序和服务器之间的直接套接字连接来做到这一点。我的问题是以上两种选择中哪一种最好?我的偏好是使用 Python+Flask 的基于 Web 的应用程序,但我不知道如何将 iOS 应用程序连接到在本地网络上运行且没有静态 IP 的烧瓶应用程序。对此的任何建议将不胜感激。