如何使用单个流提供多个连接?

时间:2013-07-08 23:02:59

标签: http web webserver streaming broadcast

我只是在这里形成一个概念的高层次,所以我真的只是在寻找关于如何做到这一点的想法/想法/建议 - 如果我已经有了这样的事情,如果我需要的话滚动我自己,或者如果可能有几个单独的项目可以拼凑在一起实现这一目标。任何和所有输入都表示赞赏:)

我希望能够做的是有一个“stream”(不知道还有什么可以称之为)广播将要提供的数据通过HTTP连接。此流将向订阅它的客户端提供事件/更新/其他数据(实际上数据无关紧要,只是客户端以某种方式订阅)。这甚至都不是什么新东西,但是我在跟踪时遇到的问题是多个用户/客户端/连接基本上共享相同的流/连接的方式。换句话说,我正在寻找一种方法让Web服务器基本上发送数据一次并让所有订阅的客户端接收它。这样,对于高流量应用程序,Web服务器不必显式地向每个侦听连接发送数据 我真的希望这是有道理的。

  • 是否有可以执行此操作的webservers / webserver-plugins?
  • 是否有可能/可行地调整某种形式的视频流媒体库来实现这一目标?
  • 这是我可能需要自己管理的东西(跟踪订阅连接的代码,从其他服务接收新数据,并透明地将所述数据复制到每个单独的连接)?
  • 任何其他想法,想法,顾虑,警告等?

1 个答案:

答案 0 :(得分:2)

看一下http://wiki.nginx.org/HttpPushStreamModule - 它似乎回答了你现有的功能,即跟踪订阅连接和向每个客户端中继数据。看起来将数据源设置为通道需要花费一些时间,但除此之外,它还可以处理其余的数据。

之前我没有使用过那个模块,但是已经使用过Nginx - 它非常好用并且可以很好地处理并发连接。