これが取引です。また、Ruby on Rails フレームワークを使用して Websocket サーバー クライアントを開発したいと考えていました。しかし、ruby-on-rails は eventmachine とあまり相性が良くありません。私は websocket クライアントを持つのに苦労していたので、既存のライブラリからコピー/カット/ペーストして、次の 2 つの不可欠なものになりました。
Em-Websocket サーバー
https://gist.github.com/ffaf2a8046b795d94ba0
ROR フレンドリーな Websocket クライアント
https://gist.github.com/2416740
スクリプトディレクトリにサーバーコードを置き、ruby コードで次のように開始します。
# Spawn a new process and run the rake command
pid = Process.spawn("ruby", "web_socket_server.rb",
"--loglevel=debug", "--logfile=#{Rails.root}/log/websocket.log",
:chdir=>"#{Rails.root}/script") #,
:out => 'dev/null', :err => 'dev/null'
Process.detach pid # Detach the spawned process
次に、クライアントを次のように使用できます
ws = WebSocketClient.new("ws://127.0.0.1:8099/import")
Thread.new() do
while data = ws.receive()
if data =~ /cancel/
ws.send("Cancelling..")
exit
end
end
end
ws.close
ROR に適した優れた em-websocket クライアントがあればいいのですが、まだうまくいきません。
サーバー/クライアントが正常に動作するようになったら、auth. また、データベースのサポートは、他の Rails コードと大きく異なってはなりません。(クライアント側に auth/db の制限があることを意味します)