具体的情节参考 terderlove 的 Is it live?
如果你觉得文章太长的话,可以参考 Sinatra 的 README 中 Streaming Responses .
unicorn 默认会 30 秒切断长连接。推荐用 thin rainbows! 或 puma 测试。
Why Rails 4 Live Streaming is a big deal
http://blog.phusion.nl/2012/08/03/why-rails-4-live-streaming-is-a-big-deal/
#3 楼 @huacnlee 那为什么网上的一些文章都说 SSE 很适合聊天室之类的应用呢?如果一个用户就要占一个 thread,如果一万人同时在线,服务器不能开这么多 thread 吧。另外 ruby-china 中的 faye 好像也是有连接限制的?
---
address: 0.0.0.0
pid: tmp/pids/thin.pid
timeout: 120
port: 7000
log: log/thin.log
max_conns: 20480
require: []
max_persistent_conns: 4048
environment: production
servers: 2
daemonize: true
chdir: /home/ruby/www/ruby-china/current
这是指最大支持 4048 人同时在线吗?如果想支持更多用户怎么办,这个值总有上限的吧。
#10 楼 @loveltyoic 我没研究过 faye,Ruby China 这一块不是我做的。Basecamp 现在还用着轮询,github 是 websocket,但不清楚用什么实现。