对于我的 Rails-App,如果上传了新数据,我需要调用所有连接的客户端。所以我想使用websockets。目前我在初始化程序中创建了一个新文件,它在一个新线程中启动套接字服务器:
require 'em-websocket'
$websocket_clients = []
Thread.new do
EventMachine.run {
EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080) do |ws|
ws.onopen {
$websocket_clients << ws
}
ws.onclose {
$websocket_clients.delete(ws)
}
end
}
end
所以我可以使用
$websocket_clients.each do |ws|
ws.send "text"
end
在我的控制器中。
我现在的问题是:这是好的做法还是我会遇到任何问题