【发布时间】:2012-03-23 17:41:24
【问题描述】:
我想用 jquery、简单的 javascript 和 java 来实现一些东西,但我不知道这样做。
说明:
- 字母A很简单,我只是描述一下。
A) 用户登录系统,并且他的用户 ID 处于会话中。我想通过单击按钮向另一个用户(用他的用户 ID 标识)发送一条消息,当该过程完成时,数据库表上将有一条新记录,如下所示:
message_id = 1; sender_user_id = xxx; 收件人用户 ID = 年年; 消息 = "你好";
B) 收件人用户如果已登录系统,则必须在几秒钟后消失的 div 上收到类似“嘿,您收到一条新消息”的通知,以及类似的文本“inbox(0)”必须更新为“inbox(1)”。
C) 如果接收用户没有登录,当他决定在任何时候或任何一天进入系统时,通知必须出现并且“收件箱(0)”的文本必须出现更新为第 2 步。
注意事项:
我想到了很多想法,比如在 java 中做一些 servlet,它从 db 返回消息计数,这是由 jquery 帖子打印的。但是,我如何才能在消息到达的那一刻或用户在长时间不活动后登录系统时准确地实现这一点。
我还想到了来自 javascript 的 setInterval,但假设我将间隔编程为每 5 秒检查一次是否有新消息,如果用户发送它并只用了 2 秒会发生什么。我认为会发生延迟。
那么,最好的方法是什么?
提前致谢。
【问题讨论】:
-
您正在寻找的技术称为“服务器推送”。这是一个维基百科页面:en.wikipedia.org/wiki/Push_technology
标签: java javascript jquery servlets