2010-05-14 53 views

回答

-1

要做到這一點的方式是與像jQuery的JavaScript框架。一旦rails呈現視圖並將html傳遞給客戶端瀏覽器,javascript可以接管處理更新並從node.js請求信息,因爲節點可以處理數千個併發連接。

您可以使用此方法進行簡單的ajax調用或形成更復雜的彗星推送更新。

-1

這不是那麼簡單,我怕......

因爲我們得到了在這種情況下,same origin policy ,頁面(通過軌道渲染)和更新服務器(節點)必須在同一臺服務器上&端口

我仍然不知道如何做到這一點。

+1

看到我的回答:) – 2010-07-08 07:34:05

+0

嗨山姆,感謝您的答案... 還有一個問題,我們可以使用nginx,如果我們想要使用WebSocket的? 謝謝 – user198806 2010-07-08 08:58:06

+0

顯然不是http://stackoverflow.com/questions/2419346/can-nginx-be-used-as-a-reverse-proxy-for-a-backend-websocket-server但你可以使用haproxy – 2010-07-08 11:13:42

4

我使用節點與rails應用程序進行聊天。

我這樣做的方法是設置一個代理我的Rails應用程序和我的節點應用程序的nginx前端。

這使您可以避開same origin policy並進行交流溝通。

這裏是我的nginx.conf的片段

location /chat_service { 
     rewrite  /chat_service/(.+) /$1 break; 
     proxy_pass http://localhost:9000/; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
    } 

這意味着我可以呈現從我的Rails應用程序的HTML頁面和不必使用討厭的黑客像JSONP與節點的應用程序通信。

一個完整的例子是超出了這個答案的範圍,但在前面的一個好的代理,你可以讓他們一起愉快地工作。

相關問題