最近在做站内短信,研究了一下大概有几种思路:
a.用js定时刷页面,这样做性能问题不好
b.用Comet实现,因为对comet不熟悉,可能会影响进度。
不知道JE是怎么实现站内短信的??
问题补充:
JE是如何实现有新的短信之后给用户做出提醒的?是用类似js中setTimeout的方法,隔一段时间请求一次后台链接读取数据库,然后做出提醒的么?
你 没用注意到么?JE给用户有新消息的提醒是在我们每天打开一个页页时(也就是发送一个新的请求)去查一直 status = "unread"的消息记录,如果有的话,就显示一个闪动的图片。
这一点都没有用ajax方面 的东西,请你仔细观察一下JE消息,你看你会打开着页面不点链接的时候,会突然显示有消息来吗?
JE应该是用一个基础/路径的过滤器,在我们每次请求一个新的页面时,这个消息检查的过滤器就去查一次属于当前登录用户的消息记录,看有没有status为unread的记录,如果count>0,就显示一个闪动的GIF图片,显示不显示
当当前登录的用户点击消息读了后,就将status由unread置为read.
JE的消息是直接使用数据库的表来实现的.
也没有用到ajax.很简单,但是实用。