Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Streaming 无线流媒体服务器Elixir plug&;牛仔_Streaming_Elixir - Fatal编程技术网

Streaming 无线流媒体服务器Elixir plug&;牛仔

Streaming 无线流媒体服务器Elixir plug&;牛仔,streaming,elixir,Streaming,Elixir,我想在Elixir中构建一个无线电服务器,我当前的代码使用plug&cowboy(感谢@rozap)将音频文件流式传输到浏览器客户端 defmodule Plugtest do import Plug.Conn @chunk_size 128 @song_path "./song.mp3" @content_type "audio/mpeg" @status_code 200 def init(opts), do: opts def call(conn, opt

我想在Elixir中构建一个无线电服务器,我当前的代码使用plug&cowboy(感谢@rozap)将音频文件流式传输到浏览器客户端

defmodule Plugtest do
  import Plug.Conn

  @chunk_size 128
  @song_path "./song.mp3"
  @content_type "audio/mpeg"
  @status_code 200

  def init(opts), do: opts

  def call(conn, opts) do
    conn = conn
    |> send_chunked(@status_code)
    |> put_resp_content_type(@content_type)

    File.stream!(@song_path, [], @chunk_size)
    |> Enum.into(conn)
  end
end

IO.puts "streaming @ http://localhost:4000"
Plug.Adapters.Cowboy.http Plugtest, []
我希望此服务器工作并播放播放列表中的歌曲 (对于本测试,循环播放song.mp3即可) 并保存当前区块,以便每个新用户都将从该区块中侦听
这将使所有用户都能像普通的无线电服务器一样,在同一秒钟内听到消息,我如何才能做到这一点呢?

我尝试编写一个循环读取文件的过程,另一个过程管理到文件的连接和流,还有什么不适合您?“如何写作”是一个开放性的问题。如果你发布你的实现会更好,如果有些东西不起作用,那就问问为什么吧。对不起,我的问题是如何处理连接问题,并将相同的块流到所有连接的用户,在编码方面没有取得进展,我想了解长生不老药解决这个问题的方法before@tkowal请检查新的问题在我试图写一个进程,从文件中读取一个循环和另一个进程,管理连接和流到他们和什么不适合你?“如何写作”是一个开放性的问题。如果你发布你的实现会更好,如果有些东西不起作用,那就问问为什么吧。对不起,我的问题是如何处理连接问题,并将相同的块流到所有连接的用户,在编码方面没有取得进展,我想了解长生不老药解决这个问题的方法before@tkowal请在以下网址查看新问题: