用Sinatra实现长轮询ajax

时间:2012-05-27 12:24:32

标签: ruby sinatra datamapper long-polling padrino

我对Sinatra和Padrino有丰富的经验。我使用datamapper进行数据库调用所以在我得知有一个名为comet programming的编程模型之前,为了实现一个简单的聊天系统,我每时每刻都会从用户的浏览器向服务器发送Ajax请求。

现在我看了Facebook的系统一段时间,只要我能看到,我的浏览器正在向服务器发送请求,服务器持有我的请求,当有新消息给我时,它会回答请求。之后我的浏览器会尽快启动另一个请求,这个循环将永远持续下去。我想实现一个模仿这种行为的系统。

客户端不是一个大问题,我很擅长使用Jquery的Ajax,但我不知道如何在我的数据库中插入一个请求之前等待吗?

1 个答案:

答案 0 :(得分:2)

有一种模仿FB的无限替代品,它在ruby http://faye.jcoglan.com

中很常见

如果您不想照顾服务器端,则应检查http://pusher.com

只有少数几个选择星球。

相关问题