2010-05-14 100 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与节点的应用程序通信。

一个完整的例子是超出了这个答案的范围,但在前面的一个好的代理,你可以让他们一起愉快地工作。

相关问题