여기 있습니다. 또한 레일 프레임 워크에서 루비를 사용하여 웹 소켓 서버 클라이언트를 개발하려고했습니다. 그러나 루비 온 레일은 이벤트 머신과 매우 친숙하지 않습니다. 나는 websocket 클라이언트를 가지고있는 데 어려움을 겪었으므로 기존 lib에서 복사/잘라 내기/붙여 넣기를 할 수 있었으며 다음 두 가지 중요한 문제가 발생했습니다.
엠 - 웹 소켓 서버
https://gist.github.com/ffaf2a8046b795d94ba0
ROR 친화적 인 웹 소켓 클라이언트
https://gist.github.com/2416740
스크립트 디렉토리에서 서버 코드는 루비 코드에서 다음과 같은 시작이있다.
# 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
그런 다음 클라이언트는 내가 좋은 ROR 친화적 인 EM-웹 소켓 클라이언트가 원하는이
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
처럼 사용할 수 있지만 수 잘 하나 아직 할 수 있습니다.
일단 서버/클라이언트가 잘 작동하면 인증합니다. 데이터베이스 지원은 다른 레일 코드와 크게 다르지 않아야합니다.