如何使用HTML5 websocket和Ruby Event-machine在两个客户端之间发送消息?

时间:2014-09-11 15:01:24

标签: javascript ruby html5

我正在使用事件机来建立聊天室。

以下是其库中的示例代码(event-machine websocket)

require 'em-websocket'

puts "Server is listening!..."
EM.run {
    @channel = EM::Channel.new
    puts @channel.methods.sort
  EM::WebSocket.run(:host => "0.0.0.0", :port => 8080) do |ws|
    ws.onopen { |handshake|
      puts "WebSocket connection open"
      sid = @channel.subscribe {|msg|
          ws.send msg 
      }
      @channel.push "#{sid} connect!"
      ws.onmessage {|msg|
          @channel.push "<#{sid}>: #{msg}"
      }
      ws.onclose {
          @channel.unsubscribe(sid)
      }
    }
  end
} 

我怎样才能获得&#34; sid&#34;用户信息 ?并保持连接?

在client.html中,刷新(F5)后它将成为新客户端

我想做一对一(在两个客户端之间发送消息)聊天室,

但我不知道如何向指定用户发送消息。(例如)sid1向sid5发送消息。

0 个答案:

没有答案