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

标签 ios sockets streaming websocket icecast

我正在尝试为 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/

相关文章:

java - 使用 Python/C++/Java 将实时视频流式传输到网页的最佳方法

ios - 如何让我的 iOS7 UITableViewController 不出现在顶部状态栏下?

ios - App Transport Security 已阻止解析文件... Swift 2 错误

ios - 如何在 Swift 中将 xib 的垂直长度设置为代码

c - gcc 编译器不报告 inet_ntoa 错误

node.js - 寻找有关如何使用 socket.io 或 IPC 传递文件描述符的示例

Java程序阻塞端口?

objective-c - 为什么 iOS 类不采用 copyWithZone 协议(protocol)来鼓励 active mem mgt?

iOS 6 流媒体播放器 com.apple.coremedia.networkbuffering 错误

java - 在Java上的rtsp流