activemq和comet配合的思路

阅读更多
不一定是activemq,但一定要与ruby有接口。

stomp就是与activemq的接口,所以要安装。

继承Mongrel::HttpHandler,自己来控制连接,以免有什么妨碍。

在handler里,去连接jms,主要是利用jms的消息机制,当然如果有类似的系统也是可以的。

肯定要设立一个timeout机制,一般在30s,不会超过其他失效的时间。

浏览器中使用ajax去get,这时候handler建立长连接,等待jms中的消息传来,这里有一个timeout的限制。

在handler等待jms的时候,ajax也在等待。

当jms传来消息,或者是timeout到了,handler就返回内容,ajax也接收到内容,处理timeout或显示内容。

ajax处理好内容后,再一次发起连接,中间可以考虑sleep一下。

如果消息并不频繁,那么这样的做法是比较合适的。如果非常频繁,可能要考虑打包一起。

如果仅考虑聊天过程,人工输入信息应该是比较慢的,但如果有群可能消息就比较频繁了,要仔细处理。

你可能感兴趣的:(ActiveMQ,Comet,JMS,Ajax,Ruby)