如何在Puma服务器中现有端口上初始化Websocket?

时间:2018-11-08 18:11:16

标签: ruby-on-rails ruby ruby-on-rails-4

我有一个ruby应用程序,其中正在使用侦听端口8008的puma Web服务器。

现在我已经需要实现socket.io/websockets。

我正在探索使用EventMachine :: WebSocket的可能性,但是由于我的puma应用程序已经在使用端口8008,因此我无法绑定到8008。

我的UI用javascript编写,而puma应用程序基本上公开了其他端点。

在这种情况下如何实现websocket?

1 个答案:

答案 0 :(得分:1)

我将Rails服务器留在其正在运行的端口上,并将您的websocket请求重定向到在其他端口上运行的另一台服务器。

This question/answer essentially describes the implementation. 因此,您可能想要类似的东西:

match "/websocket/(*path)" => redirect {|params, req| "http://your.domain:8009/#{params[:path]}"}

其中8009是Websocket服务器运行的端口。