我正在做一个Web应用程序,用户可以在其中进行有关这些交互或系统管理员更改的交互和通知等。
我的服务器是在Java上实现的,对于GUI,我使用的是JSF(PrimeFaces库)。
我的怀疑是: 客户端总是要求服务器获取新通知的最佳方式是什么?我的意思是,像StackExchange这样的东西,或者类似于Facebook,如果我正在写一个问题或更新状态或做任何其他事情,我不需要每次想要知道我的新通知时点击通知按钮,我的客户应用程序只是总是检查这些更新(通过我不知道的方法)。
我认为可以做到这一点的方法是通过一个无限持续时间的函数(在一个线程或类似的东西上),通过调用服务器通知服务(例如)向服务器询问这些通知并显示它们给用户。显而易见的问题是,我认为这不是一种优化的方法,必须有一种更好的方法。
如果有人知道Facebook(StackExchange,Twitter或任何处理用户通知的系统)使用并尝试解释它的方法,也会很棒。
非常感谢。
答案 0 :(得分:1)
你所描述的是ajax或http long pooling。这是资源消耗。最可能的是,异常的异步实现要好得多。你正在看websockets