我目前正在使用Spring MVC编写论坛Web应用程序.我只是春天的初学者,现在只用了大约一个星期.
我需要实现推送通知.以下是方案:用户A登录并创建帖子.当用户A仍然登录时,用户B对用户A的帖子发表评论.用户A收到一些用户已对其帖子发表评论的通知,而他的浏览器没有刷新页面.
我需要帮助向用户A发送通知,即用户B异步评论他的帖子.我做了一些研究,发现有一个名为CometD的软件包我可以使用,但我找不到任何简单的教程供我理解.
任何人都可以建议任何其他包/方式来解决我的问题?或者如果你有任何简单的CometD教程,那也会很棒.
我是CometD项目负责人.
CometD附带一个演示war文件,该文件具有内置的聊天应用程序,您可以将其用作了解CometD如何工作的基础,请参阅https://docs.cometd.org/current/reference/#_installation.
CometD完整的参考文档在这里:https://docs.cometd.org.
根据经验,我不建议使用Servlet 3.0异步功能来实现聊天,因为这将排除WebSocket的使用.
你最好依赖可以从WebSocket开始的CometD等框架(因为它更有效),然后如果WebSocket不起作用,则自动和透明地回退到HTTP.
在类似的说明中,我不推荐仅使用WebSocket方法,因为WebSocket在某些情况下不起作用(例如,移动网络通常不允许WebSocket流量),并且它是一个太低级别的协议,因此您必须构建你自己的协议在WebSocket之上(这是很多工作,不容易做对).
CometD为您提供易于扩展的协议和自动传输回退,并具有大量功能(例如授权和身份验证以及群集,仅举两个).
看看Spring MVC 3.2 的spring MVC聊天示例应用程序,还有一篇关于它的春季博客文章.