-3

フェニックスフレームワークを使用して作成されたシンプルなチャットアプリがあります。

ソケット内のデータにアクセスしたい

これはそのために使用する方法です

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
4

1 に答える 1