我是 StackOverflow 的新手。我已经搜索了该主题,但没有找到任何真正相关的内容。
基本上我需要为我们公司开发一个网络“支持聊天”系统。我知道那里有很多可用的解决方案,但我们需要 Java 中的自定义解决方案。我们需要建立一个支持聊天网络系统,访问该网站的用户可以使用聊天请求支持,另一方面,我们有“n”个代理来处理请求。为了商业智能的目的,我们需要在 Cassandra 集群中存储每一段对话。我们需要用 Java(服务器端)和 JavaScript+JQuery(客户端)开发解决方案。
编辑: 在检查了许多基于 XMPP 的解决方案之后(很多都非常陈旧且不再受支持),我可能会使用类似 XMPP 的自定义协议,它只涵盖我们需要的功能。开发解决方案 WebSocket 似乎是最合适的技术。
问题是,从哪里开始?我用谷歌搜索,但对如何在 Jetty 中使用 WebSocket 几乎一无所知。有链接吗?任何资源?
基本上我的想法是:
- 基于Jetty Embedded的聊天服务器
- 需要与服务器通信的 Web 应用程序 (JQuery) 的小型前端。
- 通信基于WebSocket避免轮询(真正的问题)
- 基于 WebSocket 的 XML 的 XMPP 样式协议。但这不是问题。
如何将 WebSocket 与 Jetty 嵌入的自定义服务器和 Web 应用程序一起使用的问题。
ADD 正如许多人所指出的,WebSocket 不能很好地支持通用用途。相反,AJAX 是一种更自然的解决方案,但这意味着使用轮询。我找到了一些关于如何规避长轮询问题的示例,但我无法找到基于 JQuery 的坚如磐石的实现,它能够:
可用时使用 WebSocket
否则,使用基于 JQuery 的长轮询
我认为现在问题更清楚了。抱歉我之前的“谈论”风格问题。