2010-04-06 22 views
1

我想創建一個iPhone聊天應用程序,我沒有任何經驗的套接字編程,所以你可以幫我理解我如何從iPhone應用程序做長輪詢?如何從iPhone應用程序進行長輪詢?

也可以NSURLConnection用於這個目的,或者我們需要使用一些低級別的API?

是否有相同的庫可用?

回答

2

結賬CocoaAsyncSocket

+0

@shaggy謝謝......我已經這樣做了,但是還有沒有其他的方式來做到這一點,或者它是唯一的庫。 – 2010-04-06 08:48:23

+0

CocoaAsyncSocket使用低級CFStream框架來完成其業務。你總是可以重新實現他們自己使用CFStream所做的,或者如果你真的想使用CFSocket。或者你可以一路下降到BSD插座。但是如果你正在做套接字編程,在Cocoa中,對於iPhone,你應該從CocoaAsyncSocket開始。 – 2010-04-06 18:21:16

2

長輪詢是針對JavaScript等語言的,無法打開持久連接。你仍然可以使用類似NSURLConnection的方式進行長時間輪詢,但是通過CFStreamCreatePairWithSocketToHost或類似的方法,你可以更好地服務於打開一個完整的雙向套接字。

長時間輪詢基本上是一種已成爲流行語的黑客行爲。

+1

感謝您的澄清.....但您認爲應該制定一個聊天應用程序的一般方法,這對我在這個方向取得進展將有實際的幫助。 – 2010-04-06 11:40:32

+0

聊天實際上比客戶端更關注服務器。如果你選擇一個像jabber這樣的標準聊天服務器,那麼iPhone可能有一個開源客戶端實現。我沒有用過,所以我會按照Shaggy的建議或谷歌你正在使用的特定聊天協議。 – drawnonward 2010-04-10 06:42:51

相關問題