フェニックスフレームワークを使用して作成されたシンプルなチャットアプリがあります。
ソケット内のデータにアクセスしたい
これはそのために使用する方法です
def join("room:" <> _user, _, socket) do
IO.inspect socket
send self(), :after_join
{:ok, socket}
end
すべての詳細を含む素敵なマップが表示されます。この方法を使用してすべてのルーム (トピック: "room:Testuser") を利用できるようにする最善の方法は何ですか?
これはコンソールに表示されたサンプル結果です
[info] JOIN room:Testuser to PhoenixChat.RoomChannel
Transport: Phoenix.Transports.WebSocket
Parameters: %{}
%Phoenix.Socket{assigns: %{user: "Testuser"}, channel: PhoenixChat.RoomChannel,
channel_pid: #PID<0.409.0>, endpoint: PhoenixChat.Endpoint,
handler: PhoenixChat.UserSocket, id: nil, joined: false,
pubsub_server: PhoenixChat.PubSub, ref: nil,
serializer: Phoenix.Transports.WebSocketSerializer, topic: "room:Testuser",
transport: Phoenix.Transports.WebSocket, transport_name: :websocket,
transport_pid: #PID<0.375.0>}
[info] Replied room:Testuser :ok