我使用的是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
。我试图优雅地删除它。我试图让我的websocket服务器被server:port
访问,没有目录要求。
我发现Chat.UserSocket
模块从lib/chat/endpoint.ex
称为:
socket "/Balancer", Chat.UserSocket
此socket
也增加另一个必需的目录。因此,要连接到websocket
服务器,您需要将/Balancer/websocket
附加到URL。我正在尝试删除该要求。我可以缩短这个词,并使用B/W
,但这看起来很不直观。另外,我对Elixir/Phoenix相当陌生,所以我对这个草率的问题表示歉意。