我正在使用em-websocket为客户端(可能有2个或更多用户)进行通信。
在他们的介绍中。https://github.com/igrigorik/em-websocket
我想修改他们简单的echo服务器示例来实现我的目的。
但是在他们的例子中,handshake.path输出总是显示"/"。
我不知道客户来自哪里。
有没有任何解决方案可以知道客户端的源位置并向所有客户端发送广播消息?
我在他们的例子中找到了答案。
https://github.com/igrigorik/em-websocket/blob/master/examples/multicast.rb
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
但我仍然有一个问题:如何向指定的客户端发送消息?
(例如)两个客户(1号和2号)自己进行沟通。