如何在网站上创建即时通知系统

时间:2014-06-14 06:46:23

标签: java mysql gwt notifications social-networking

我正在实施一个小型社交网站,我正在尝试实施通知。

通知具有以下要求

  1. 所有用户都会在他们关注的用户访问时收到通知 某些事件(如帖子,创建帖子,发表评论等等)

  2. 当用户的一组通知未读时,就像在Facebook上一样,用户会这样做 继续在导航栏上看到阅读通知图标。

  3. 问题:我正在举例说明我的问题,以便更好地了解每个人。

    假设有两个用户 A B 。 A& B是朋友和A帖子的东西,突然B喜欢A的帖子然后A应该立即收到通知。

    1. 那么如何立即收到通知流程?
    2. 我是否应该在每毫秒向服务器发送一个呼叫,以检查是否有可用于A用户的未读通知?在这种情况下,为多个用户创建了数千万的呼叫。这是可行的解决方案? (我认为这会在我的网站上造成不必要的负担。因为我认为facebook和stackoverflow不使用这种方式。)
    3. 为我提供合适的解决方案,就像使用fb和其他网站一样。

      技术在我的项目中使用:Java和MYSQL

3 个答案:

答案 0 :(得分:0)

您应该使用JavaScript(客户端)和Java - MySql(服务器端),更具体地说Ajax。您需要一些时间来理解概念和用法,但它完全符合您的要求。

要提供更多详细信息,您需要创建一个显示通知的部分视图,并将此部分视图更新为异步(使用AJAX)。

答案 1 :(得分:0)

不要重新发明轮子。 在每个间隔使用ajax调用服务器并检查您的服务器并更新导航acc。

答案 2 :(得分:0)

1.那么如何立即收到通知流程?

2)我是否应该在每毫秒向服务器发送一个呼叫,以检查是否有任何未读通知可供A用户使用?

上述两个问题的答案通过GWTEventService实施解决。 通过它,您可以编写避免客户端到服务器往返的代码。

  

GWTEventService是一个基于事件的客户端 - 服务器通信框架。它使用GWT-RPC和Comet / server-push技术。客户端提供了一个高级API,可以将监听器注册到服务器,就像GUI组件一样。事件可以添加到服务器端的上下文/域中,并且客户端上的侦听器可以获知有关传入事件的信息。服务器端完全独立于客户端实现,并且具有高度可配置性。可以定义域以确定哪些事件对于不同的上下文很重要。

参考链接:https://code.google.com/p/gwteventservice/