ddj_clientのつづきです
基本的には下記のソースのddj_serverを見てください
実施していることは
-
mix phx.new ddj_server --no-ecto --no-html
でプロジェクト生成 -
mix phx.gen.socket Ddj
でソケット生成 -
mix phx.gen.channel Ddj
でchannel生成 - channel ddj:lobby 追加
- handle_in "new_msg" 追加
プロジェクト生成
$ mix phx.new ddj_server --no-ecto --no-html
$ cd ddj_server
結果
ソケット生成
$ mix phx.gen.socket Ddj
結果
channel生成
$ mix phx.gen.channel Ddj
結果
channel ddj:lobby 追加
ddj_server/lib/ddj_server_web/channels/ddj_socket.ex
# 省略
# See the [`Channels guide`](https://hexdocs.pm/phoenix/channels.html)
# for further details.
+ channel "ddj:lobby", DdjServerWeb.DdjChannel
# Socket params are passed from the client and can
# be used to verify and authenticate a user. After
# 省略
handle_in "new_msg" 追加
ddj_server/lib/ddj_server_web/channels/ddj_channel.ex
# 省略
+ def handle_in("new_msg", %{"body" => body}, socket) do
+ broadcast!(socket, "new_msg", %{body: body})
+ {:noreply, socket}
+ end
# It is also common to receive messages from the client and
# broadcast to everyone in the current topic (ddj:lobby).
# 省略
これで、ddj_serverは完成
つづく