有没有办法使用sinatra-websocket gem 在不同的频道上发送消息?
基本上我正在尝试用 sinatra-websocket 替换 Pusher。下面是我对 Pusher 所做的事情:
Pusher["my_channel_A"].trigger('some_event_type', my_message)
Pusher["my_channel_B"].trigger('another_event_type', my_message)
在这个 sinatra-websocket 片段中,该语法的等价物是什么?
request.websocket do |ws|
ws.onopen do
ws.send("Hello World!")
settings.sockets << ws
end
ws.onmessage do |msg|
EM.next_tick { settings.sockets.each{|s| s.send(msg) } }
end
ws.onclose do
warn("websocket closed")
settings.sockets.delete(ws)
end
end