1

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

我相信我理解这里的协议Icecast 2: protocol description, streaming to it using C#

但是,我无法创建与服务器的套接字连接。假设服务器在http://myicecastserver.com的 8000 端口上运行。我设置了一个名为 stream 的挂载点,它在将 ezstream 用作输入时工作。我应该如何从 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 错误

我对此进行了一些尝试,但无法打开此连接以挽救我的生命!谢谢!

更新

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

4

1 回答 1

1

我的解决方案如下:

我正在使用这样的 AsyncSocket 库:

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

诀窍是删除“http://”(是的,我就是这么傻)然后在连接时我可以发送正确的标题。

于 2012-11-02T23:58:32.797 回答