如何使用带有Jetty emded定制服务器的WebSocket
我是StackOverflow的新手。 我已经搜寻过这个话题,但我没有找到真正相关的东西。
基本上我需要为我们公司开发一个网络“支持聊天”系统。 我知道有很多可用的解决方案,但我们需要Java中的定制解决方案。 我们需要建立一个支持聊天网络系统,访问该网站的用户可以使用聊天请求支持,另一方面,我们有'n'代理人负责处理请求。 为了商业智能的目的,我们需要在Cassandra群集中存储每一段对话。 我们需要在Java(服务器端)和JavaScript + JQuery(客户端)中开发解决方案。
编辑:在检查了很多基于XMPP的解决方案(很多都很旧,不再支持)之后,我可能会使用类似XMPP的自定义协议,该协议只涵盖我们需要的功能。 开发解决方案WebSocket似乎是最合适的技术。
问题是,从哪里开始? 我google了一下,但没有提及如何在Jetty上使用WebSocket。 任何链接? 任何资源?
基本上我的想法是:
如何在Jetty中使用WebSocket的问题涉及到定制服务器和Web应用程序。
ADD正如许多人指出的那样,WebSocket并不能很好地支持通用用途。 相反,AJAX是更自然的解决方案,但这意味着使用轮询。 我发现了一些关于如何绕过长查询问题的例子,但是我无法找到基于JQuery的坚如磐石的实现,它能够:
可用时使用WebSocket
否则,请使用基于JQuery的长轮询
我认为现在问题更加清楚。 对不起,我以前的“谈论”风格问题。
我已经使用了大气框架(https://github.com/Atmosphere/atmosphere)。 他们提供了几个聊天相关的示例:https://github.com/Atmosphere/atmosphere/tree/master/samples
我不会建议你需要Websocket作为支持系统,因为有很多人使用Internet Explorer,但它不支持它,并且在Windows 7以前的Windows版本中可能不会支持它:http://caniuse.com /的WebSockets
你说你想在客户端使用“Java + JQuery”。 你确定你不会混淆Java和JavaScript吗? 这些技术与冰茶和长岛冰茶一样常见。
当您真的想使用Java时,您不需要使用WebSockets,因为Java小程序可以使用普通的TCP或UDP套接字与服务器进行通信。
当你的意思是JavaScript时,我建议你创建一个基于AJAX的解决方案,因为它的支持得到了更广泛的支持,并且你不需要为聊天应用程序提供WebSockets的实时性能。
您可能想查看Openfire的Fastpath插件(服务和网络聊天)。 这是一个基于XMPP的解决方案,旨在支持您的用例。 它是基于开源和基于Java的,因此您可以轻松扩展它以满足您的需求。
Smack for Java基于客户端的解决方案也支持(在工作组包下)。
链接地址: http://www.djcxy.com/p/94161.html上一篇: How to use WebSocket with a Jetty emdedded custom server