ドキュメントにはこの例がありますが、切断された場合にのみ機能しますhttps://hexdocs.pm/phoenix/Phoenix.Socket.html#module-examples
use Phoenix.Socket
channel "room:*", MyAppWeb.RoomChannel
def connect(params, socket, _connect_info) do
{:ok, assign(socket, :user_id, params["user_id"])}
end
def id(socket), do: "users_socket:#{socket.assigns.user_id}"
end
# Disconnect all user's socket connections and their multiplexed channels
MyAppWeb.Endpoint.broadcast("users_socket:" <> user.id, "disconnect", %{})
私はそれを試しましたが、切断に対してのみ機能します。
そのユーザーに固有のトピックを作成できる場所を読んだことがありますが、実際の例を使用できます。複雑さを理解するのに苦労しており、実用的な例を使用できます。
ありがとうございました。
ets テーブルの基になるソケットを取得できれば、そのソケットだけを取得できると考えていましたが、push/4
その方法がわかりません。