2012-11-02 110 views
1

我正嘗試在iOS上爲Icecast服務器創建一個源客戶端。在iOS上與Icecast服務器打開套接字連接

我相信我理解的協議在這裏Icecast 2: protocol description, streaming to it using C#

但是,我無法創建套接字連接到服務器。假設服務器在端口8000處運行,其編號爲http://myicecastserver.com。我設置了一個名爲stream的安裝點,它在ezstream用作輸入時起作用。我應該如何從iOS打開連接?

我已經使用了AsyncSocket庫這樣的:

[socket connectToHost:@"http://myicecastserver.com" onPort:8000 error:&err]; 

這樣的:

[socket connectToHost:@"http://myicecastserver.com/stream" onPort:8000 error:&err]; 

無濟於事。

SRWebSocket *socket = [[SRWebSocket alloc] initWithURL:[NSURL URLWithString:@"http://myicecastserver.com:8000/stream"]]; 
[socket setDelegate:self]; 
[socket open]; 

這給了我一個404錯誤

我試圖在這幾個變化,但就是無法打開此連接:

我也使用與SocketRocket也無濟於事一個WebSocket連接嘗試拯救我的生命! 謝謝!

UPDATE

我使用SocketTest作爲測試源客戶端和我能夠連接到http://myicecastserver.com端口8000

+0

連接後。如何將編碼的數據發送到icecast服務器..請分享您的示例代碼和想法 –

回答

1

我的解決方案如下:

我使用AsyncSocket庫這樣:

[socket connectToHost:@"myicecastserver.com" onPort:8000 error:&err]; 

的訣竅是刪除的「http://」(是的,我是傻),然後連接上我可以發出正確的頭。

+2

+1,是的,你想要一個普通的TCP套接字連接,而不是websockets,而不是。 – Brad

相關問題