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/reference/installation.html.
CometD的完整参考文档在这里:http://docs.cometd.org/.
根据经验,我不建议使用Servlet 3.0异步功能来实现聊天,因为这将排除WebSocket的使用.
更好的是依靠可以从WebSocket开始的CometD框架(因为它更有效率),然后如果WebSocket不工作,则自动和透明地回退到HTTP.
在类似的注释中,我不推荐使用WebSocket方法,因为WebSocket在某些情况下不起作用(例如,移动网络通常不允许WebSocket流量),而且它是一个太低级别的协议,因此您必须构建你自己的协议在WebSocket之上(这是很多工作,不容易得到).
CometD为您提供了一个易于扩展的协议和自动传输回退功能,并且具有许多功能(例如,仅提及两个功能的授权和认证和集群).