0
私はアバターを割り当てようとしていますが、使用しようとするとエラーが発生します。Phoenixでメモリ内変数を保存するにはどうすればよいですか?
私はノードの背景から来ています。そこで、値を割り当てて要求から変更できます。状態を維持するにはどうすればいいですか?
defmodule Chatroom.LobbyChannel do
require Runner
use Phoenix.Channel
{:ok, pid: spawn(fn -> Runner.input() end)}
avatar = %{x: 0, y: 0}
def join("lobby", _payload, socket) do
{:ok, socket}
end
def handle_in("new_message", payload, socket) do
case payload["message"] do
"hello" -> broadcast! socket, "new_message", payload
"jump" -> send pid, {:jump, self, [avatar: avatar, socket: socket]}
_ -> nil
end
{:noreply, socket}
end
def handle_reply do
receive do
{:result, mover, socket} -> broadcast! socket, "new_message", [name: "State", message: "5"]
end
end
end
ありがとうございます - 私のエージェントはどこから始めるのですか?関数を使用する前に、関数をリンクするためにstart_linkが使用されるようです。どこがフェニックススタックに入っていますか? – quantumpotato
エージェントのライフサイクルによって異なります。いつでも利用できるようにする必要がある場合は、管理者として主アプリ内で起動してください。 – mudasobwa