我正在尝试为iPhone编写一个简单的聊天应用程序(作为实验)。是否有一种简单的方法让两个设备发现彼此的IP地址,并且考虑到地址是否有一个简单的API或协议可以让我来回发送文本消息?
我调查了SIP(特别是Sofia和eXosip),但是这些工具作为C库存在,并且超出了我目前将它们移植到iPhone的能力。
更新:我正在尝试通过互联网连接两台设备(即不通过蓝牙或本地无线网络,这是GameKit
所做的事情。)
答案 0 :(得分:4)
您将需要一台提供匹配服务的服务器。 Game Center使这很简单,但您的用户必须拥有Game Center帐户。
或者,你可以设置一个XMPP(以前的Jabber,它是谷歌聊天的功能)服务器(我从来没有这样做,但有几个可用)并使用XMPP Framework for Cocoa。在iPhone应用程序here中有使用它的说明。
我确信还有其他聊天服务器和客户端来源。想到IRC and Mobile Colloquy。
最后,您可以使用自己喜欢的服务器语言/框架编写自己的服务器。这不是太难(我自己做过),但它远不是我所说的简单,我也不会将它用于生产系统。
答案 1 :(得分:2)
GameKit中确实支持这种特殊的点对点网络。有关详细信息,请查看GameKit文档的后半部分:
答案 2 :(得分:1)
NSNetService是个不错的选择。
答案 3 :(得分:1)
看看WebRTC Datachannels。 WebRTC是一个较新的选项,native iOS support标准仍在最终确定,但如果iOS应用需要与browser甚至android对等方进行通信,它会更灵活