【问题标题】:How to run sinatra as a websocket server?如何将 sinatra 作为 websocket 服务器运行?
【发布时间】:2011-05-20 10:08:27
【问题描述】:

我尝试过使用 eventmachine,但我所拥有的只是一侧运行 sinatra 的应用程序和另一侧运行事件机器服务器的应用程序。我不知道如何将 sinatra 应用程序作为 websocket 运行。

例如,我想将其用作 websocket:

得到'/'做 #从数据库中提取信息并显示 结尾

感谢任何帮助。

谢谢! L.

【问题讨论】:

标签: ruby html sinatra websocket


【解决方案1】:

据我了解,这样做需要编写扩展程序或可能修改 Sinatra,使用 web-sockets 而不是 http。

如果我使用 ws.getws.post insted 如果只是

strong>getpost

【讨论】:

    【解决方案2】:

    我一直在走这条路,但我不建议这样做。使用 Thin 可以让相同的 Rack 堆栈以某种方式同时处理 Sinatra 和 Websocket,但问题多于好处。如果你想看看我是怎么做到的,请看:

    https://github.com/HakubJozak/mana/blob/before-sinatra-removal/config.ru

    现在我实际上正在移植应用程序以使用 Rails 3.1 用于“静态”页面和基于 github.com/igrigorik/em-websocket 的大脑简单快速后端。

    【讨论】:

      【解决方案3】:

      你检查“sinatra-websocket”了吗?

      来自维护者:

      [...] 它让你在同一个进程中运行 websocket 服务器,并且在 与 Sinatra 相同的端口。 [...]

      【讨论】:

      • Ruby 2.2.5,Sinatra 2.0.5,在 2019 年,并将示例“echo”代码插入我的 Sinatra 应用程序的某个位置工作得很好。我很怀疑,因为 gem 已经多年没有更新了,但它看起来仍然很好用!
      猜你喜欢
      • 2012-01-18
      • 2015-09-12
      • 2019-12-29
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多