Phoenix.Transports.WebSocket
Handles WebSocket clients for the Channel Transport layer
Configuration
By default, JSON encoding is used to broker messages to and from clients, but the serializer is configurable via the Router’s transport configuration:
config :my_app, MyApp.Router, transports: [
websocket_serializer: MySerializer
]
The websocket_serializer
module needs only to implement the encode!/1
and
decode!/1
functions defined by the Phoenix.Transports.Serializer
behaviour.
Summary
action(conn, options) | |
call(conn, action) | Callback implementation of |
init(action) | Callback implementation of |
upgrade_conn(conn, ) | |
ws_handle(text, state) | Receives JSON encoded |
ws_hibernate(state) | |
ws_info(message, state) | Handles Elixir messages sent to the socket process |
ws_init(conn) | Handles initalization of the websocket |
ws_terminate(reason, arg2) | Called on WS close. Dispatches the |
Functions
Receives JSON encoded %Phoenix.Socket.Message{}
from client and dispatches
to Transport layer
Handles Elixir messages sent to the socket process
Dispatches "info"
event back through Tranport layer to all socket’s channels