2

我正在使用 em-websocket 为客户端(可能 2 个或更多用户)进行通信。

在他们的介绍中。https://github.com/igrigorik/em-websocket

我想修改他们简单的回显服务器示例来达到我的目的。

但在他们的示例中,handshake.path 输出始终显示“/”。

我不知道客户来自哪里。

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

4

1 回答 1

1

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

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

但我仍然有一个问题:如何向指定的客户发送消息?

(eg) 两个客户端(1 号和 2 号)进行自己的通信。

于 2014-09-10T17:44:07.220 回答