【发布时间】:2017-07-23 00:31:36
【问题描述】:
我有一个使用 phoenix 框架编写的简单聊天应用程序。
我想访问套接字中的一些数据
这是我使用的方法
def join("room:" <> _user, _, socket) do
IO.inspect socket
send self(), :after_join
{:ok, socket}
end
它将提供包含所有细节的漂亮地图。 使用此方法获取所有房间(主题:“房间: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
【问题讨论】:
-
在这个例子中你想要获得什么价值不是很清楚 - 你能更明确一点吗?
-
topic: "room:Testuser" 这是我想要访问的值
-
你的意思是像
socket.topic?
标签: phoenix-framework elixir phoenix-channels