私はPhoenix Chat Room Exampleを使用していますが、ルーティングに問題があります。 user_socket.ex
ファイル内フェニックス経由で輸送ルートを削除するには?
:
defmodule Chat.UserSocket do
use Phoenix.Socket
channel "rooms:*", Chat.RoomChannel
transport :websocket, Phoenix.Transports.WebSocket
def connect(_params, socket) do
{:ok, socket}
end
def id(_socket), do: nil
end
私が持っている問題は、transport
設定です。
transport :websocket, Phoenix.Transports.Websocket
は、トランスポートを設定するには、基本的にはディレクトリのようなものです。このソケットを介して接続するには、URL
の末尾に/websocket
が必要です。私はそれを優雅に取り除こうとしています。私はserver:port
でWebsocketサーバーにアクセスさせようとしていますが、ディレクトリは必要ありません。
私はChat.UserSocket
モジュールがlib/chat/endpoint.ex
から呼び出されたことがわかった:
socket
は、別の必要なディレクトリを追加して
socket "/Balancer", Chat.UserSocket
。したがって、websocket
サーバーに接続するには、URLに/Balancer/websocket
を追加する必要があります。私はその要件を削除しようとしています。私は言葉を短くすることができ、B/W
を使用することができますが、それはまったく直感的ではありません。また、私はエリクサー/フェニックスにはかなり新しいので、この厄介な質問をお詫び申し上げます。