Rails PUSH Server :Juggernaut 簡介
早就想寫 Juggernaut 的文章了,不過今天是第一次有時間寫。Push Server 技術就不再提了,想知道可以看我之前寫的文章。
簡介
Juggernaut 簡單的來說,是一個 Ruby Push Server 加上 Rails Plugin。
Push Server 取名就叫作 Juggernaut。
Juggernaut 的 Rails Plugin 裡面包含了一些 JS,跟Juggernaut 自己開發的 Flash Client。Push Server Client 端通常需要 Flash 來接收 Push Server Message,Juggernaut Flash Client 是使用 Flash 8 來作開發。支援 IE ,Firefox,Safari。Juggernaut 的強項在於跟 Ruby on Rails 整合良好,我們來看看怎麼使用。
安裝
1. Push Server 安裝
gem i juggernaut -y
2. Rails Plugin 安裝
ruby script/plugin install http://juggernaut.rubyforge.org/svn/trunk/juggernaut
設定
1. Juggernaut_hosts.yml
這裡很容易混淆,這個設定檔是 Rails Plugin 要看的設定檔,如果沒有設定 config/juggernaut_hosts.yml,會導致 Rails 無法啟動,所以必須要設定 config/juggernaut_hosts.yml。請先新增一個 config/juggernaut_hosts.yml ,輸入你的 Push Server 環境
:hosts:
- :port: 5001
:host: localhost
:environment: :production
port 是 push server port ,預設是 5001,Host 是 Push Server 的 IP ,Enviroment 是 Rails 環境。
2. juggernaut.yml
我們用 juggernaut 來產生 juggernaut push server 所需的設定檔。以下指令會產生一個 juggernaut config 檔,取名叫作 juggernaut.yml。
juggernaut -g juggernaut.yml
啟動
要啟動就是要啟動 Push Server ,還有 Ruby on Rails 。
1. 啟動 push server
我們啟動 juggernaut 這個 push server,並且讀取 config 檔。 預設 Push Server port 是 5001,可以到 juggernaut.yml 去修改。
juggernaut -c juggernaut.yml
範例
我們直接用 juggernaut 的範例,聊天室來確認是否 ok。在你的 controller 裡面創立兩個 function
對了,這個聊天室一開始有一堆 alert message,這是 Juggernaut 預設 Development 環境下會啟動 Debug Function ,只要 config 改成 Production 就不會出現一堆 alert message。
簡介
Juggernaut 簡單的來說,是一個 Ruby Push Server 加上 Rails Plugin。
Push Server 取名就叫作 Juggernaut。
Juggernaut 的 Rails Plugin 裡面包含了一些 JS,跟Juggernaut 自己開發的 Flash Client。Push Server Client 端通常需要 Flash 來接收 Push Server Message,Juggernaut Flash Client 是使用 Flash 8 來作開發。支援 IE ,Firefox,Safari。Juggernaut 的強項在於跟 Ruby on Rails 整合良好,我們來看看怎麼使用。
安裝
1. Push Server 安裝
gem i juggernaut -y
2. Rails Plugin 安裝
ruby script/plugin install http://juggernaut.rubyforge.org/svn/trunk/juggernaut
設定
1. Juggernaut_hosts.yml
這裡很容易混淆,這個設定檔是 Rails Plugin 要看的設定檔,如果沒有設定 config/juggernaut_hosts.yml,會導致 Rails 無法啟動,所以必須要設定 config/juggernaut_hosts.yml。請先新增一個 config/juggernaut_hosts.yml ,輸入你的 Push Server 環境
:hosts:
- :port: 5001
:host: localhost
:environment: :production
port 是 push server port ,預設是 5001,Host 是 Push Server 的 IP ,Enviroment 是 Rails 環境。
2. juggernaut.yml
我們用 juggernaut 來產生 juggernaut push server 所需的設定檔。以下指令會產生一個 juggernaut config 檔,取名叫作 juggernaut.yml。
juggernaut -g juggernaut.yml
啟動
要啟動就是要啟動 Push Server ,還有 Ruby on Rails 。
1. 啟動 push server
我們啟動 juggernaut 這個 push server,並且讀取 config 檔。 預設 Push Server port 是 5001,可以到 juggernaut.yml 去修改。
juggernaut -c juggernaut.yml
範例
我們直接用 juggernaut 的範例,聊天室來確認是否 ok。在你的 controller 裡面創立兩個 function
def index然後在 index view 裡面這樣寫
end
def send_data
render :juggernaut do |page|
page.insert_html :top, 'chat_data', "#{h params[:chat_input]} "
end
render :nothing => true
end
<html>這樣聊天室就完成啦,可以試試看玩玩看。
<head>
<%= javascript_include_tag :defaults, :juggernaut %>
<%= juggernaut %>
head>
<body>
<%= form_remote_tag( :url => { :action => :send_data }, :complete => "$('chat_input').value = ''" ) %>
<%= text_field_tag( 'chat_input', '', { :size => 20, :id => 'chat_input'} ) %>
<%= submit_tag "Add" %>
< /form>
< id=""chat_data" style="list-style:none"> ul>
body>
html>
對了,這個聊天室一開始有一堆 alert message,這是 Juggernaut 預設 Development 環境下會啟動 Debug Function ,只要 config 改成 Production 就不會出現一堆 alert message。
沒有留言:
張貼留言