2013-05-08 109 views
-2

什麼是最好的方式來做一個應用程序,其中手機是服務器,其他手機是客戶端。客戶端會向服務器發出請求,服務器會響應。請求也許服務器發送他們正在捕獲的實時音頻。有什麼在ios中做到這一點的最佳方式?使用UDP組播?或每個客戶端的TCP套接字?客戶端服務器ios應用程序

+0

可能dup http://stackoverflow.com/q/11620017/352891 – user352891 2013-05-08 20:38:55

回答

1

使用UDP多播會將您的消息投射到網絡中的所有設備(因此名稱)。它也不保證交付,也不保證交付訂單(FOFI)。在大多數情況下,UDP並不是一個好主意。

TCP是一個真正偉大的選擇,它很容易使用,而且它確實garuantee所有這些事情,有很多框架或C庫在那裏,可以幫助你很多。

個人,I'ld建議使用libuvuv runloop連接到NSRunloop,但你可以用AsyncSocket也一樣,如果you'ld而是想堅持的Objective-C。

+0

感謝您的幫助。但我的想法是通過TCP發送音頻不是一個好主意。它的真實和我必須使用UDP正確嗎?問候 – mistic 2013-05-09 13:03:57

+0

我認爲TCP非常適合此目的,因爲它保證了傳遞順序(這對於音頻顯然是非常重要的),並且只將音頻文件發送到請求它的對等方(無組播)。不要忘記,所有網站(例如Youtube)和Spotify都使用TCP來傳輸音頻(儘管這與iOS到iOS的體系結構不同)。 – elslooo 2013-05-09 13:30:28

+0

謝謝你的幫助..你有任何想法打開服務器iPhone的麥克風,併發送其他iphone客戶端的捕獲音頻最好的方式嗎? – mistic 2013-05-09 13:36:50