在iOS上与Icecast服务器打开套接字连接

我正在尝试为iOS上的Icecast服务器创build源客户端。

我相信我理解这里的协议Icecast 2:协议描述,使用C#

但是,我无法创build到服务器的套接字连接。 假设服务器在http://myicecastserver.com上的8000端口上运行。 我设置了一个名为stream的安装点,它在ezstream用作input时起作用。 我应该如何从iOS打开连接?

我已经使用这样的AsyncSocket库:

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

喜欢这个:

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

无济于事。

我也尝试使用与SocketRocket的websocket连接也无济于事:

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

这给了我一个404错误

我已经尝试了一些这方面的变化,但只是无法打开这个连接来挽救我的生命! 谢谢!

UPDATE

我使用SocketTest作为testing源客户端,并且能够在端口8000上连接到http://myicecastserver.com

我的解决scheme如下:

我正在使用这样的AsyncSocket库:

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

诀窍是删除'http://'(是的,我是那么傻)然后连接上我可以发送正确的标题。