java - 如何将 WebSocket 与 Jetty 嵌入式自定义服务器一起使用

标签 java xml websocket xmpp

我是 StackOverflow 的新手。我搜索了该主题,但没有找到任何真正相关的内容。

基本上,我需要为我们公司开发一个网络“支持聊天”系统。我知道有很多可用的解决方案,但我们需要 Java 中的自定义解决方案。我们需要构建一个支持聊天网络系统,访问该网站的用户可以使用聊天请求支持,而另一方面,我们有“n”个代理来处理请求。我们需要将每一点对话存储在 Cassandra 集群中以用于商业智能目的。我们需要用Java(服务器端)和JavaScript+JQuery(客户端)来开发解决方案。

编辑: 在检查了许多基于 XMPP 的解决方案(许多都相当旧并且不再受支持)之后,我可能会使用类似 XMPP 的自定义协议(protocol),该协议(protocol)仅涵盖我们需要的功能。开发解决方案 WebSocket 似乎是最合适的技术。

问题是,从哪里开始?我用 google 搜索了一下,但没有找到关于如何在 Jetty 中使用 WebSocket 的信息。有链接吗?有资源吗?

基本上我的想法是:

  • 基于 Jetty 嵌入式的聊天服务器
  • 需要与服务器通信的网络应用程序 (JQuery) 的小型前端。
  • 通信基于 WebSocket,以避免轮询(真正的问题)
  • 基于 WebSocket 的 XML 的 XMPP 样式协议(protocol)。但这不是问题所在。

如何将 WebSocket 与 Jetty 嵌入的自定义服务器和 Web 应用程序一起使用的问题。

添加 正如许多人指出的那样,WebSocket 并不能很好地支持通用用途。相反,AJAX 是一种更自然的解决方案,但这意味着使用轮询。我找到了一些关于如何规避长轮询问题的示例,但我无法找到基于 JQuery 的可靠实现,该实现能够:

  1. 可用时使用 WebSocket

  2. 否则,使用基于 JQuery 的长轮询

我认为现在问题更加清楚了。抱歉我之前的“谈论”风格问题。

最佳答案

我使用了Atmosphere框架(https://github.com/Atmosphere/atmosphere)。他们在这里提供了几个与聊天相关的示例:https://github.com/Atmosphere/atmosphere/tree/master/samples

关于java - 如何将 WebSocket 与 Jetty 嵌入式自定义服务器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12742283/

相关文章:

java - 干净删除的 R。无法运行我的任何代码I

java - 在java中追加到xml文件中

c# - 从 C# 程序连接基于 node.js 的 socket.io WebSocket 服务器

用于后端通信的 RESTful HTTP 服务与直接 TCP 或 WebSockets

go - 将 Websocket 消息发送到 Go 中的特定 channel (使用 Gorilla)

java - 多线程环境下如何解决内存泄漏?

java - CrudRepository .delete() 方法是事务性的吗?

java - 表达式前面的减操作数

python - lxml.etree.XMLSyntaxError,文档标记为 UTF-16 但具有 UTF-8 内容

php - 在 PHP 中选择函数时需要帮助