我有这个https://gist.github.com/ohcibi/5418898 Gist,它基本上只是 sinatra-websocket github 页面中的示例和粘贴的一些 Redis 代码。该部分
settings.redis.subscribe 'foobar' do |on|
on.message do |channel, message|
settings.sockets.each do |s|
s.send message
end
end
end
正在阻止 Sinatra 应用程序正确启动 aussubscribe
正在阻止。我通过将订阅放入ws.onopen
处理程序中取得了小小的成功,但这会覆盖每个新 websocket 的订阅(即只有最新的 websocket 会收到消息)。
如何在收到新的 redis 消息时通知所有连接的套接字?