abstract struct Amber::WebSockets::ClientSocket
- Amber::WebSockets::ClientSocket
- Struct
- Value
- Object
Overview
ClientSocket struct maps a user to an HTTP::WebSocket. For every websocket connection
there will be an associated ClientSocket. Authentication and authorization happen within the ClientSocket. ClientSocket will subscribe to Channels,
where incoming and outgoing messages are routed through.
Example:
struct UserSocket < Amber::Websockets::ClientSocket
channel "user_channel:*", UserChannel
channel "room_channel:*", RoomChannel
def on_connect
return some_auth_method!
end
end
Defined in:
amber/websockets/client_socket.crConstant Summary
-
BEAT_INTERVAL =
30.seconds -
Log =
::Log.for(self) -
MAX_SOCKET_IDLE_TIME =
100.seconds
Constructors
Class Method Summary
-
.broadcast(event : String, topic : String, subject : String, payload : Hash)
Broadcast a message to all subscribers of the topic
-
.channel(channel_path, ch)
Add a channel for this socket to listen, publish to
- .channels
- .get_topic_channel(topic_path)
Instance Method Summary
-
#on_connect : Bool
Authentication and authorization can happen here
-
#on_disconnect
On socket disconnect functionality
- #socket : HTTP::WebSocket
Constructor Detail
Class Method Detail
Broadcast a message to all subscribers of the topic
UserSocket.broadcast("message", "chats_room:1", "msg:new", {"message" => "test"})