2010-10-11 159 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

相關問題