最近Channelを使ったアプリケーションを触っているので、APIをまとめました。 受信したイベントを処理するAPI handle_in/3 channelにjoinしたクライアントからのメッセージを受信して何かしらの処理を行うときに定義します。 多いのは、トピックをサブスクライブしているクライアント全てにメッセージを送るケースだと思います。 その場合は、broadcast!/3を使います。 def handle_in("new_msg", msg, socket) do broadcast!(socket, "new_msg", %{"name" => msg["name"], body: msg["body"]}) {:reply, {:ok, msg["body"]}, socket} end
