【问题标题】:How to use websocket with Restlet framework?如何将 websocket 与 Restlet 框架一起使用?
【发布时间】:2015-06-04 16:48:07
【问题描述】:

我们有一个用 Restlet 框架编写的 web 服务器,现在我们想实现 websocket 来代替导致一些性能问题的长轮询设计。 查看了 RestLet 的论坛和文档,看起来 websocket 还不支持,甚至没有按计划进行。而且我们不想用其他框架替换 Restlet,因为它会发生很大的变化,现在我们提出了一些设计方案,不确定哪个最好:

  • 启动另一个Jetty服务器,并使用Jetty的websocket lib来处理websocket连接;
    • Prons:无需自行开发基于 Restlet 的 websocket 库;
    • 缺点:需要有 2 个服务器监听不同的端口。
  • 基于Restlet开发我们自己的websocket库:
    • Prons:无需启动第二个服务器;
    • 缺点:开发工作量大。

我们还在调查中,感谢任何分享和有价值的cmets,谢谢!!

【问题讨论】:

  • 使用一些 websocket 库,在与 restlet 相同的 VM 中运行 websocket 服务器,在不同的端口上。
  • 你的意思是在 Apache 中,配置 mod_proxy 将请求重定向到不同的端口?
  • 你用的是什么框架?根据您提供的信息 @bayou.io 的答案似乎非常合理 - 是的,您可以将 Apache 配置为代理(而不是重定向)到适当的端口。
  • 我们正在为 restfulApi 使用 RestLet 框架。感谢大家,我现在正在尝试调查 Apache 代理。看起来 RestLet 正在使用端口 8182,我们已经有一个代理配置,例如: - httpConfig: - ProxyPass /api localhost:8182/api retry=1 - ProxyPassReverse /api localhost:8182/api 我正在考虑启动另一个 JVM 来创建一个码头 websocket 服务器监听到 9120 等其他端口,并在 Apache 端添加代理配置。
  • websockets 没有什么 RESTFul 的。如果您想使用 Websocket,例如 Servlet API 和 Servlet 容器,请考虑使用不太集中的 API。对你的 POJO 进行 Gson 并通过 HTTP 响应将它们写出来并不难。

标签: java restlet java-websocket


【解决方案1】:

Restlet 框架中尚不支持 Websockets,存在一个问题:https://github.com/restlet/restlet-framework-java/issues/893

【讨论】:

  • 希望 Restlet 能够支持 Websocket 甚至作为扩展。现在大多数 Java 框架都是响应式的,而 Restlet 仍然远远落后于响应式。
猜你喜欢
  • 1970-01-01
  • 2011-12-19
  • 2010-09-09
  • 2015-06-02
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
  • 2016-01-04
  • 1970-01-01
相关资源
最近更新 更多