我正在尝试为 iPhone 编写一个简单的聊天应用程序(作为实验)。两个设备是否有一种简单的方法可以发现彼此的 IP 地址,并且给定地址,是否有一个简单的 API 或协议可以让我来回发送短信?
我研究过 SIP(特别是 Sofia 和 eXosip),但这些工具以 C 库的形式存在,超出了我目前将它们移植到 iPhone 的能力。
更新: 我正在尝试通过 Internet 连接两个设备(即不通过蓝牙或本地无线网络,这就是这样GameKit
做的)。
您将需要一个提供匹配服务的服务器。Game Center使这非常容易,但您的用户必须拥有 Game Center 帐户。
或者,您可以设置一个 XMPP(以前的 Jabber,它是 Google Chat 的动力)服务器(我从来没有这样做过,但有几个可用的)并使用XMPP Framework for Cocoa。这里有在 iPhone 应用程序中使用它的说明。
我确信还有其他聊天服务器和客户端资源可用。我想到了IRC 和 Mobile Colloquy 。
最后,您可以使用自己喜欢的服务器语言/框架编写自己的服务器。这并不太难(我自己做过),但远非我所说的简单,而且我不会将它用于生产系统。
GameKit 正是支持这种特殊的点对点网络。详情请查看 GameKit 文档的后半部分:
NSNetService是一个不错的选择。
看看WebRTC 数据通道。WebRTC 是一个较新的选项,原生 iOS 支持一个仍在最终确定的标准,但如果 iOS 应用程序需要与浏览器甚至android同行通信,它会更加灵活