JavaScript-请问实时提醒消息是怎么做的?

JavaScript-请问实时提醒消息是怎么做的?

夜无邪 发布于 2016-11-04 字数 143 浏览 1334 回复 7

突然看到消息提示和DZ的帖子提示有点类似,因为本人这方面比较弱,所以就弱弱的问问各位高手
大致是怎么做的,还有DZ是怎么做的,有什么不同或者优势...

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

浮生未歇 2017-11-08 7 楼

观察控制台网络请求,其实就是一个ajax轮询!

泛泛之交 2017-09-26 6 楼

反向Ajax(Reverse Ajax)技术。

虐人心 2017-09-10 5 楼

且不说微博是如何实现的,前端的实现没什么可说的,无非就 Ajax 定时发请求向服务端请求,难度在于后端,当用户多了,通知服务器要承受巨大的访问压力。而如果采用MySQL速度是可想而知的。个人认为这种请求量大的,可以采用NoSQL或者Memcache来存储用户通知。当用户发了一个问答和某些用户有关,那么可以找到与此问答相关的人。并把这些通知存入MySQL的通知表,然后再更新NoSQL里的用户通知数据,当前端通过Ajax来访问的时候只需要访问NoSQL中的信息就可以了,这样不仅速度快,而且不会给数据库服务器带来太大的压力。这只是个人的想法,具体有待商讨。

清晨说ぺ晚安 2017-05-09 4 楼

说下思路,每个用户有一个新消息数计数器,前端按一定频率到后端检查这个计数器。如果消息数发生改变则前台显示改变,当用户查看详细信息时,从后端拉出具体信息。

浮生未歇 2017-03-16 3 楼

先说一下数据库,一是有个消息表,这个表里大概有uid(活动对象的id)、msg(消息内容)、type(消息类型,比如提问题、答问题、关注等)、questionid(问题id)、应该还有个flag(标志是否已阅读)
大概流程是这样的:
当用户发起一个提问或者一个答案的时候,系统会向消息表里插一条记录,当用户刷新页面的时候系统会根据这个用户关注的问题、或者回答过得问题id进行筛选这个消息表,把最新的消息(未阅读的)列出来。
前段根据后台筛选的结果来控制这个“新通知”弹窗口。
当然了目前的都没有做到实时的显示,用户必须刷新才能提示,要做到实时提示,那要ajax不停的请求服务器,这个服务器可承受不了的,尤其是用户量上来后,服务器有崩溃的危险。

想挽留 2016-11-26 2 楼

我说一下我的思路是,前台页面定时执行一个javascript函数,执行ajax功能,从后台程序获取用户的信息,然后再显示在前台。

想挽留 2016-11-05 1 楼

万变不离其中。 ajax setTimeout,ajax 轮询,长轮询。
如果对chrome之类的浏览器,还可以用h5 websocket