如何在iPhone应用程序中进行点对点通信?

如何在iPhone应用程序中进行点对点通信?,iphone,ios,sip,Iphone,Ios,Sip,我正在尝试为iPhone编写一个简单的聊天应用程序(作为一个实验)。两台设备是否有一种简单的方法来发现彼此的IP地址,并且给定这些地址是否有一个简单的API或协议可以让我来回发送文本消息 我已经研究过SIP(特别是Sofia和eXosip),但这些工具是以C库的形式存在的,我目前无法将它们移植到iPhone上 更新:我正在尝试通过互联网连接两台设备(即,不通过蓝牙或本地无线网络,这是GameKit所做的)。GameKit中完全支持这种特殊的点对点网络。有关详细信息,请参阅GameKit文档的后半

我正在尝试为iPhone编写一个简单的聊天应用程序(作为一个实验)。两台设备是否有一种简单的方法来发现彼此的IP地址,并且给定这些地址是否有一个简单的API或协议可以让我来回发送文本消息

我已经研究过SIP(特别是Sofia和eXosip),但这些工具是以C库的形式存在的,我目前无法将它们移植到iPhone上


更新:我正在尝试通过互联网连接两台设备(即,不通过蓝牙或本地无线网络,这是
GameKit
所做的)。

GameKit中完全支持这种特殊的点对点网络。有关详细信息,请参阅GameKit文档的后半部分:


您需要一台提供配对服务的服务器。这非常简单,但您的用户必须拥有游戏中心帐户

或者,您可以设置一个XMPP(以前叫Jabber,它是Google聊天的动力)服务器(我从来没有这样做过,但有几种可用的)并使用。有在iPhone应用程序中使用它的说明

我确信还有其他聊天服务器和客户端资源可用。我想到了


最后,您可以使用自己喜欢的服务器语言/框架编写自己的服务器。这并不太难(我自己也做过),但它远不是我所说的简单,我也不会将其用于生产系统。

是一个很好的选择。

看一看。WebRTC是一个更新的选项,其标准仍在最终确定中,但是,如果iOS应用程序需要与甚至是对等方进行通信,它会更加灵活。

您可能应该澄清这些设备是在同一局域网上还是通过互联网进行连接。我所读到的关于
GameKit
的所有信息都表明,对等设备只能通过蓝牙或本地无线方式工作,而不能通过互联网工作。当然,我不确定这一点。+1很棒的XMPP链接-我喜欢带有工作代码示例的链接。不幸的是,我实际上在尝试SIP/RTP——我首先关注的是聊天,以便在不必担心音频或视频的情况下解决网络问题。您是否有任何有用的iPhone/VoIP链接?另外,再次感谢XMPP链接。XMPP将完美地用于我必须编写的另一个方面。那是很久以前的事了,所以现在可能会有更多。这是怎么投票的?使用服务器基础结构与op请求的对等连接无关。在iOS中不可用(仅限OSX)。@MusiGenesis此链接表明: