Ruby 如何在em websocket中广播或建立连接?

Ruby 如何在em websocket中广播或建立连接?,ruby,websocket,em-websocket,Ruby,Websocket,Em Websocket,我正在使用em websocket为客户端(5月2日或更多用户)进行通信 在他们的介绍中 我想修改他们的简单echo服务器示例以达到我的目的 但在他们的示例中,handshake.path输出总是显示“/” 我不知道客户来自哪里 是否有任何解决方案可以知道客户端源位置并向所有客户端发送广播消息 我在他们的例子中找到了答案 EventMachine::WebSocket.start(:host=>0.0.0“,:port=>8080,:debug=>true)do | ws| ws.onopen

我正在使用em websocket为客户端(5月2日或更多用户)进行通信

在他们的介绍中

我想修改他们的简单echo服务器示例以达到我的目的

但在他们的示例中,handshake.path输出总是显示“/”

我不知道客户来自哪里


是否有任何解决方案可以知道客户端源位置并向所有客户端发送广播消息

我在他们的例子中找到了答案

EventMachine::WebSocket.start(:host=>0.0.0“,:port=>8080,:debug=>true)do | ws|
ws.onopen{
sid=@channel.subscribe{| msg | ws.send msg}
@channel.push“#{sid}已连接!”
ws.onmessage{| msg|
@channel.push“{msg}”
}
ws.onclose{
@频道取消订阅(sid)
}
}
结束
但我仍然有一个问题:如何向指定的客户端发送消息

(例如)两个客户(1号和2号)进行自己的通信

EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080, :debug => true) do |ws|
ws.onopen {
    sid = @channel.subscribe { |msg| ws.send msg }
    @channel.push "#{sid} connected!"
ws.onmessage { |msg|
    @channel.push "<#{sid}>: #{msg}"
}
ws.onclose {
    @channel.unsubscribe(sid)
}
}
end