java – 在Spring MVC WebApp中推送通知

我正在使用 Spring MVC编写一个论坛Web应用程序.我只是春天的初学者,现在只用了一个星期.

I need to implement push notifications. Here is the scenario: User A logs in and creates a post. User B comments on User A’s post while User A is still logged in. User A receives a notification that some user has commented on his post,without his browser refreshing the page.

我需要帮助,发送通知用户A用户B已经评论他的帖子异步.我已经做了一些研究,发现有一个名为CometD的包,我可以使用,但我找不到任何简单的教程让我明白.

任何人都可以建议任何其他软件包/方法解决我的问题吗?或者如果您有任何简单的CometD教程,那也是很棒的.

解决方法

CometD教程在这里http://docs.cometd.org/tutorials/.

CometD还附带了一个内置聊天应用程序的演示战争文件,您可以使用它来了解CometD如何工作,参见http://docs.cometd.org/reference/installation.html.

CometD的完整参考文档在这里http://docs.cometd.org/.

根据经验,我不建议使用Servlet 3.0异步功能来实现聊天,因为这将排除WebSocket的使用.

更好的是依靠可以从WebSocket开始的CometD框架(因为它更有效率),然后如果WebSocket不工作,则自动和透明地回退到HTTP.

在类似的注释中,我不推荐使用WebSocket方法,因为WebSocket在某些情况下不起作用(例如,移动网络通常不允许WebSocket流量),而且它是一个太低级别的协议,因此您必须构建你自己的协议在WebSocket之上(这是很多工作,不容易得到).

CometD为您提供了一个易于扩展的协议和自动传输回退功能,并且具有许多功能(例如,仅提及两个功能的授权和认证和集群).

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...