一定時間ごとに決まったメッセージを全クライアントに送信(つまりbroadcast)
broadcastしたいのだとしたら誰から見て10秒後なのかがはっきりしないのですが、
:timer.sleep 10_000
YourApp.Endpoint.broadcast "rooms", "new_msg", %{text: "はじめまして"}
:timer.sleep 10_000
YourApp.Endpoint.broadcast "rooms", "new_msg", %{text: "名前を入力してください"}
みたいな処理をどこからか送信すればいいと思いますし、
それぞれのsocketに接続後にメッセージを出したい場合は
def join("rooms", _, socket) do
send self(), :after_join
{:ok, socket}
end
def handle_info(:after_join, socket) do
spawn fn ->
:timer.sleep 10_000
push socket, "new_msg", %{text: "はじめまして"}
:timer.sleep 10_000
push socket, "new_msg", %{text: "名前を入力してください"}
end
{:noreply, socket}
end
のようにjoin後の処理にぶら下げたらいいのかなと思いました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/28 17:09