我正在尝试为 iOS 上的 Icecast 服务器创建源客户端。
我相信我理解这里的协议(protocol) 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];
没用。
我也尝试过使用 websocket 连接与 SocketRocket 也无济于事:
SRWebSocket *socket = [[SRWebSocket alloc] initWithURL:[NSURL URLWithString:@"http://myicecastserver.com:8000/stream"]];
[socket setDelegate:self];
[socket open];
这给了我一个 404 错误
我已经尝试了一些变体,但就是无法打开这个连接来挽救我的生命! 谢谢!
更新
我正在使用 SocketTest 作为测试源客户端并且能够连接到 http://myicecastserver.com在端口 8000 上
最佳答案
我的解决方案如下:
我正在像这样使用 AsyncSocket 库:
[socket connectToHost:@"myicecastserver.com" onPort:8000 error:&err];
诀窍是删除“http://”(是的,我就是那么傻)然后在连接时我可以发送正确的 header 。
关于ios - 在 iOS 上打开与 Icecast 服务器的套接字连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13203154/