Rails-Appの場合、新しいデータがアップロードされた場合、接続されているすべてのクライアントに電話をかける必要があります。だから私はwebsocketを使いたいです。現在、新しいスレッドでソケットサーバーを起動するイニシャライザーに新しいファイルを作成しました。
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
私のコントローラーで。
今の私の質問は次のとおりです。これは良い習慣ですか、それとも私はそれで何か問題を経験しますか?