Ruby:如何从同一个应用程序提供静态HTML和EventMachine WebSocket服务器?

Ruby:如何从同一个应用程序提供静态HTML和EventMachine WebSocket服务器?,ruby,heroku,eventmachine,em-websocket,Ruby,Heroku,Eventmachine,Em Websocket,我正在编写一个简单的聊天应用程序。唯一需要的“前端”是一个html文件、一个javascript文件和几个样式表。应用程序的大部分是服务器端EventMachine WebSocket服务器 我也试着在Heroku上主持这个节目 我目前有一个sinatra应用程序,只为静态文件服务,还有一个单独的应用程序为WebSocket服务器服务(在不同的端口上) 有没有一种方法可以将它们结合起来,这样我就可以启动一个为端口80(用于静态文件)服务/响应的应用程序和另一个为WebSocket服务器服务的端口

我正在编写一个简单的聊天应用程序。唯一需要的“前端”是一个html文件、一个javascript文件和几个样式表。应用程序的大部分是服务器端EventMachine WebSocket服务器

我也试着在Heroku上主持这个节目

我目前有一个sinatra应用程序,只为静态文件服务,还有一个单独的应用程序为WebSocket服务器服务(在不同的端口上)


有没有一种方法可以将它们结合起来,这样我就可以启动一个为端口80(用于静态文件)服务/响应的应用程序和另一个为WebSocket服务器服务的端口?

让您的WebSocket服务器在不同的端口上运行可能不是一个好主意。WebSocket在端口80上运行,这是因为该端口在大多数网络上未被阻止。如果您使用其他端口,您将发现某些防火墙后面的用户无法使用您的应用程序


将事件服务器与web服务器分开运行可能是最好的方法

让WebSocket服务器在不同的端口上运行可能不是一个好主意。WebSocket在端口80上运行,这是因为该端口在大多数网络上未被阻止。如果您使用其他端口,您将发现某些防火墙后面的用户无法使用您的应用程序


将事件服务器与web服务器分开运行可能是最好的方法

如果您想要更具实验性的东西,可以在主分支中提供WebSocket支持,还可以提供所需的资源。如果您查看examples目录,则有一个WebSocket服务器也可以为其HTML页面提供服务。

如果您想要更具实验性的内容,则可以在主分支中提供WebSocket支持,还可以提供所需的资源。如果您查看examples目录,有一个WebSocket服务器也为它的HTML页面提供服务。

ok,有没有一种方法可以从一个脚本开始,两个脚本都运行在端口80上?或者前端由根域提供,ws-server由domain.com/ws-server提供?我不确定它在Heroku上是如何工作的,但您应该能够设置一些路由规则,将特定目录和/或三级域的请求发送到不同的应用程序。例如,我们一直在使用Apache来实现这一点。好的,有没有一种方法可以用一个脚本来启动这两个脚本,两个脚本都运行在端口80上?或者前端由根域提供,ws-server由domain.com/ws-server提供?我不确定它在Heroku上是如何工作的,但您应该能够设置一些路由规则,将特定目录和/或三级域的请求发送到不同的应用程序。例如,我们一直使用Apache来实现这一点。