- 浏览: 91570 次
- 性别:
- 来自: 香港
最新评论
-
ddddddddd:
忘记说谢谢了。谢谢您共享这个插件。帮了我大忙
Rails plugin: i18n -
ddddddddd:
我下载并使用了你的插件,感觉效果很好,不向其他同样功能的那样庞 ...
Rails plugin: i18n
前文研究過利用 Flash XMLSocket 作即時通訊的 Juggernaut,雖然它可以簡易的做到即時通訊,但使用非 HTTP 通訊和非開放標準這兩點很讓人在意,有滿有其他的解決方案?
ActiveMQ 的 AJAX Client
在思考的過程中,發覺我想做的不正是使用消息通訊的軟件嗎?這類軟件己經有一個很好的 Model:Messaging Oriented Middleware(MOM)。接著我跑到 Apache ActiveMQ 的網站研究有沒有可用的方案。果然,在 AMQ 的源碼中就有一個 AJAX 的 messaging client。
ActiveMQ 是開源的 JMS 專案,技術成熟而且被很多其他產品應用。它的 AJAX Client 利用連接 Server 上的 Messaging Servlet ,由Servlet 再向 AMQ 發送訊息。等等,AJAX 的 A 不就是非同步的意思嗎?怎樣用 AJAX 做到即時通訊?答案是結合 Poll 和 AJAX。Browser 首先用 AJAX 連接到 Servlet (Poll) ,如果有訊息就會即時把訊息返回,如果沒有訊息就會讓 client 等待,直到指定的時限(約30秒、比一般 browser 和 socket 的 timeout 短 )。每個 AJAX request 完結後 client 會立即重試,這樣 client 便可以得到有如 push 的效果了。比起一般 Server Push 的 Comet ,這種做法更符合一般 HTTP 的 Request - Response 模式,由於與普通 HTTP 無異,一般的 Firewall 和 Browser 也支援。
在 Rails 中的 AJAX Poll
ActiveMQ 的方法雖好,但它是一個 Servlet ,我們難道要另架一台 Java Application Server?就算不介意架這台 Server ,還要用 proxy 之類的方法解決 AJAX 不能 Cross-Domain 的問題。有沒有方法只用 Rails 就做到這種 AJAX Poll 的效果?
答案是 No and Yes。用普通的方法 Rails 不能做到以上效果。Rails 是一個單線程的環境 ,也就是說全部 Request 也由同一支 Thread 控制。在以上情境中「叫 Client 在 Request 中等待直至有信息」等於叫整個 server 停下來。幸好,Rails 單線程不等於 Server 也必須單線程。Adam的 Comet with Rails + Mongrel 中示範了怎樣用自訂 HttpHandler 讓 Rails 可以持續地跟 Client 連接。我們可以在 Client Side 呼叫 AJAX,在 Mongrel 的 HttpHandler 中把這些 Request 轉成向 MOM 的呼叫,如下圖。
理論差不多了,看看怎樣實作吧!
在 Rails 和 Mongrel 作即時股票報價軟件
ActiveMQ 的 Web Demo 包括一個股票報價軟件。它分成 Consumer 和 Producer 兩部份,Consumer 是收取服價資料的 Client ,Producer 則是發報股價的 Server。我們的目標就是要在 Rails 實作這個軟件。
发表评论
-
Code Geass CD入手
2007-08-23 14:12 1268終於入手了,Code Geass 的 OST2 和 モザイ ... -
Kaomoji (顔文字, emoticon) plugins for Rails
2007-08-23 16:15 1190Nothing big, just a little toy ... -
調查發現八達通易辦事轉賬系統一直有問題,涉款370萬元
2007-07-27 15:34 1214八達通承認易辦事7年扣錯錢 Via 明報即時新聞 早前,八達 ... -
Ruby on Rails plugin: QRCode
2007-07-23 14:42 1545I come across this page, a java ... -
[轉播] 呼籲:抵制7月25日明光社賣旗活動
2007-07-20 18:07 1188原文 @ 無神論者的巴別塔 慈善,只為幫助有需要的弱勢社群 ... -
Using AjaxMessaging to create a chatroom in 5 mins
2007-07-07 16:41 1255中文版: 用 AjaxMessaging 在五分鐘內造一個 c ... -
用 AjaxMessaging 在五分鐘內造一個 chat room
2007-07-07 17:03 1400English version: Using AjaxMess ... -
AjaxMessaging - bring realtime messaing to Ruby on Rails
2007-07-02 18:22 1408Proudly present my new plugins ... -
Eclipse 發表 Europa
2007-07-02 02:56 1124Eclipse Europa 是今年的 Eclipse 新版本 ... -
更新: Ruby on Rails plugin i18n
2007-06-29 16:59 1311讀了 Takol 的 【ROR開發筆記】MultiLingua ... -
使用 Rails 和 Juggernaut 作即時通訊
2007-06-27 15:33 1593AJAX 在 AJAX 出現前,傳 ... -
Rails plugin: i18n
2007-06-06 14:23 1443An update from mod-i18n module. ... -
全文搜尋 (Lucene 和 Ferret)
2007-05-20 17:45 1605搜尋器改變了人們的習慣。當有能力在互聯網上用 0.01 秒的搜 ... -
網摘 20070529 - 因為 Rails 放下其他事
2007-05-29 05:45 926網路與技術 RoR vs. PHP?談 web 開發技術的未 ... -
網摘 20070510
2007-05-10 06:01 981Web 微軟500億美元收購Yahoo!之傳言大拆解 - 與 ... -
Adobe 宣佈開放 Flex 的源碼
2007-04-27 03:43 1050重大消息:四月二十六日,Adobe 宣佈他們將會開放 Flex ... -
Defensive Design for the Web
2007-04-22 14:00 1066Defensive Design for the WebHo ... -
Aptana 繼 RadRails 後再宣佈和 RDT 合併
2007-04-21 16:10 1279Aptana 今天宣佈和 RDT 合併,該公司並會僱請 RDT ... -
20070416 網摘 - 知識+世代
2007-04-16 05:25 1027知識+世代 知識+型社會 - 當中學生只懂得使用 Yahoo ... -
Google 發表谷歌輸入法
2007-04-15 02:09 1329之前聽說Google 開放分析一萬億字所得的資料,但那只在英文 ...
相关推荐
在本“Ruby+Rails+社交+进阶教程5”中,我们将深入探讨如何利用Ruby on Rails框架构建一个功能丰富的社交网络平台。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制...
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
- **AJAX**:学习如何在Ruby on Rails应用中集成异步JavaScript和XML技术。 - **部署、安全与性能**:讲解如何部署Ruby on Rails应用、实施安全措施以及优化性能。 #### 结语 通过这五天的课程,读者不仅能够系统地...
这个“Ruby+Rails+社交+教程”显然旨在引导开发者如何利用Rails的灵活性和强大功能构建一个完整的社交平台。以下是教程可能涵盖的一些核心知识点: 1. **Ruby基础知识**:首先,你需要对Ruby编程语言有基本的理解,...
本教程“Ruby+Rails+社交+教程3”旨在帮助开发者掌握如何利用Ruby的强大功能和Rails的优雅设计来构建一个具有用户交互性的社交平台。 首先,让我们深入了解一下Ruby。Ruby是一种面向对象的编程语言,以其简洁、易读...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
Ruby on Rails(简称RoR或Rails)是一种开源的网络应用框架,用Ruby语言编写。它被设计用来轻松地实现MVC(模型-视图-控制器)设计模式,从而使开发人员能够快速和有条理地创建数据驱动的应用程序。接下来,我将详细...
在掌握了Ruby、Rails和Mongrel等关键组件的安装方法之后,你就能够开始探索Ruby on Rails的无限可能,开发出响应迅速、维护方便的Web应用程序。随着实践经验的积累,相信你能够更加熟练地运用Ruby on Rails来实现...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
本项是使用 React 实现的个人博客,使用了 Redux 做数据管理,后端使用的是 Ruby On Rails 提供的接口,欢迎大家围观! 本地部署 git clone git@github.com:wewin11235/react-blog.git cd react-blog npm install ...
Ruby On Rails系列从入门到精通实战教程 Ruby基础+Rails框架+网上商城项目实战
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...
通过阅读"Ruby for Rails.pdf"和"Ruby on Rails 初体验.ppt",你可以深入了解Ruby on Rails的各个方面,包括其哲学、核心概念以及如何构建实际的Web应用程序。随着对Rails的理解加深,你将能够高效地开发出功能丰富...
Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本篇将通过一个入门实例,深入探讨Rails的基本概念和核心...
《Ruby on Rails for Dummies》是一本专门为初学者设计的Ruby on Rails教程,它旨在帮助新手快速理解并掌握这个强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言构建的一个开源Web应用程序框架,它...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...