- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须向用户发送帐户更新消息,以便更新可以像实时更新一样直接显示在浏览器中。
我们现有的应用程序架构具有 Zuul 1.x.x 代理、Spring 引导 RESTFul 微服务(只是一个传递)和一个第 3 方应用程序作为后端。 Spring boot Restful 服务使用 OAuth 作为安全措施来验证收到的请求。
除了第3方,这些都是在AWS ELB和EC2中建立的。
所以我的问题是 CometD 集成/应用程序可以在没有 websockets 的情况下实现上述功能吗?
当我阅读他们的文档时,他们总是说,它可以通过 HTTP 或 Websocket 工作,但我无法断定我是否可以仅使用 HTTP 通过 CometD 集成来推送消息。
我在这里的困惑是,如果我将 cometD 集成到现有的 Spring boot 微服务应用程序中
- Can the CometD provides push mechanism with HTTP only and establish a connection with Server? OR it needs Websockets (ws://) and websocket needs to be enabled in Zuul proxy and web server consecutively to establish a connection with server from browser/UI?
- Does it change the complete nature of the existing spring boot restful micro-service to web application
请指导我,以便我可以进一步进行。
最佳答案
CometD 在没有 WebSocket 的情况下工作得很好,因此您可以使用 HTTP 将消息从 CometD 服务器推送到您的浏览器客户端。
来自CometD documentation preface :
CometD provides you APIs to implement these messaging patterns: publish/subscribe, peer-to-peer (via a server), and remote procedure call. This is achieved using a transport-independent protocol, the Bayeux protocol, that can be carried over HTTP or over WebSocket (or other transport protocols), so that your application is not bound to a specific transport technology.
您可以在服务器端禁用 WebSocket 传输(请参阅 this section 中的 allowedTransports
参数):
<web-app ...>
...
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometDServlet</servlet-class>
<init-param>
<param-name>allowedTransports</param-name>
<param-value>long-polling</param-value>
</init-param>
...
</servlet>
...
</web-app>
要进一步自定义,您可以在其中指定要使用的传输实现类,另请参阅 this section .
关于spring-boot - CometD 应用程序是否需要强制使用 Websocket 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57782615/
我只是 cometd 的初学者,我很感兴趣并想了解什么是 cometd 以及它的用途我用谷歌搜索并找到了一些资源。在以下链接下 1. http://docs.cometd.org/reference/
正如标题所说,我正在开发网络聊天应用程序,我希望其中有很多用户活跃,并且不能使用 ajax 轮询。我基本上想让一个人 2 人聊天,但请原谅我是一个菜鸟,但我真的迷路了。我读过很多关于 cometd 的
我正在开发我目前正在使用的 Spring-MVC 应用程序在 Apache tomcat 7.0.55 上使用 Cometd 实现聊天功能。我有基本的代码在运行,我可以通过 channel 发送消息并
我正在尝试在 Jetty 9.2 上运行我们的 Spring-MVC 应用程序,该应用程序具有 Cometd(3.0.9)。目前它与 Tomcat7 完美配合,但我们正在将 Jetty 作为另一个应用
我可以通过简化版本的示例来最好地描述我正在寻找的内容。 Tornado 的演示之一是一个简单的聊天服务器: https://github.com/facebook/tornado/blob/maste
它的功能就是所谓的“服务器推送”,google wave 似乎也利用了这一点。 有人能解释一下这个概念通过代码片段 它如何在 Web 应用程序中实际工作? 最佳答案 一些伪javascript: /
我在本地主机上使用Orbited作为Comet服务器。它正在监听端口: 9000 for http 61613 for stomp 我的JavaScript调试器报告错误:未在行中定义JSON: va
我在向客户端发回消息时遇到问题。下面是我的代码 JavaScript dojox.cometd.publish('/service/getservice', {
我正在考虑编写一个需要能够将消息推送到浏览器的实时网络应用程序。当我第一次阅读 Comet 时,由于浏览器支持薄弱,人们似乎认为它是一种脆弱且不成熟的方法。今天,它似乎是一种既定又实用的技术。但据我所
对于不需要“实时”但可能延迟(例如 1 分钟)的事件是否值得使用 Comet。这样将是: 推特状态更新 Facebook 更新 我知道 comet 非常适合聊天应用程序(facebook 和 GTal
我对 java 中的 cometd 很陌生。 我对 java 中的 cometd 更感兴趣,但是当我用 google 搜索它时,我几乎找不到一个链接这是 cometd 链接,文档中不清楚。 有人可以发
我开发 Web 应用程序已经有一段时间了,但最近才接触到 Comet 服务器端推送技术,我对这项技术的理解还很不成熟。而链接http://www.zeitoun.net/articles/comet_
我有一个 cometd 应用程序在 jetty 内运行。我想从客户端获取传入的广播,然后进行一些处理(涉及与数据库交互),然后如果没有遇到错误,则通过向所有订阅者广播来完成。 我最初的想法是通过扩展来
是否有基于 .net 的 cometd 引擎?比如 Ajax 推送引擎 那是免费和开源的吗? 最佳答案 轨道式 Orbited是一个 HTTP 守护进程,针对长期 cometd 连接进行了优化。它旨在
我有一些关于 Comet 的信息,但我想知道它如何保持连接打开(从客户端到服务器)。它是如何做到的? 最佳答案 从长远来看,Comet 或长轮询 ajax 不会保持连接打开。 HTTP 是无状态的,它
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在尝试在我的应用程序中实现 Comet,但由于没有使用 JavaScript 的经验,我不确定如何在客户端实现。 当服务器收到一个请求时,它只是保持它打开并在必要时向它写入数据: def rend
我一直在我的网络应用程序的日志文件中看到奇怪的消息。 127.0.0.1 - - [15/Jan/2013:23:00:53 +0000] "POST /cometd/connect HTTP/1.1
嗨,很长一段时间以来,我一直在尝试在 tomcat 中使用 comet 制作聊天应用程序。问题是我已经在云中部署了应用程序,其中开放连接有 30 秒的上限。因此,每当服务器需要超过 30 秒的时间来响
我有一个关于 Comet 实现的问题。我知道它用于处理类似于现在可以通过 Servlet 3.0 异步功能实现的异步请求。然而,我不明白的是如何向调用客户端完成推送。 在网络套接字中,我们通过提供 i
我是一名优秀的程序员,十分优秀!