2010-10-11 163 views
7

我正在尝试为iPhone编写一个简单的聊天应用程序(作为一个实验)。有两种设备可以简单地发现彼此的IP地址,并且地址是否有一个简单的API或协议,可以让我来回发送短信?如何在iPhone应用程序中进行点对点通讯?

我已经研究过SIP(特别是索非亚和eXosip),但这些工具作为C库存在,并且超出了我目前的将它们移植到iPhone的能力。

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

+2

您应该澄清设备是否在同一个LAN上或通过互联网连接。 – 2010-10-11 21:37:29

+0

@Robot K:同意了,完成了。 – MusiGenesis 2010-10-11 22:01:23

回答

5

你会需要它提供的媒人服务的服务器。 Game Center使这非常容易,但您的用户将不得不拥有Game Center帐户。

或者,您可以设置XMPP(以前称为Jabber,它是Google Chat的功能)服务器(我从来没有这样做,但有几种可用)并使用XMPP Framework for Cocoa。有关于在iPhone应用程序中使用它的说明here

我确定还有其他聊天服务器和客户端源也可用。想到IRC and Mobile Colloquy

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

+0

+1伟大的XMPP链接 - 我喜欢与工作代码示例的链接。不幸的是,我实际上正在尝试使用SIP/RTP--我首先专注于聊天,以便让网络内容不必担心音频或视频问题。你碰巧有任何有用的iPhone/VoIP链接? – MusiGenesis 2010-10-12 01:41:29

+0

另外,再次感谢XMPP链接。 XMPP将完美适用于我必须编写的另一个方面。 – MusiGenesis 2010-10-12 01:42:16

+0

我简短地看了一下SIP,但并没有走得很远。这是一段时间以前,所以现在可能会有更多。 – 2010-10-12 03:45:13

1

NSNetService是一个不错的选择。

+0

不适用于iOS(仅限OSX)。 – MusiGenesis 2013-10-25 19:05:03

+0

@MusiGenesis此链接指示:https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSNetService_Class/Reference/Reference.html – jjxtra 2013-10-25 19:38:42

相关问题