Carbon Forum上线了消息实时推送功能,并使用了HTML5的Notification API实现消息通知

By lincanbin at 2015-06-24 • 1人收藏 • 1416人看过

blob.png

如果有新消息,无需刷新页面即可得到消息通知,消息通知采用HTTP长连接轮询实现,资源消耗较短连接轮询少,且实时性高:

一个回复发出去,3秒内对方就会收到回复提醒,并且出现弹窗通知。

较高版本的Chrome、Firefox等浏览器可以直接看到右上角的弹窗通知。

IE似乎还没有通知中心这个功能,所以就刷新右上角小红点实现消息提醒。

19 个回复 | 最后更新于 27 天前
2015-06-24   #2

http://caniuse.com/#search=Notification

Notification API(通知中心)兼容性如下:

  • Firefox 35+

  • Chrome 31+

  • Safari 7.1+

  • Opera 27+

  • Android Browser 4.4+

2015-06-24   #3

先开着挂几天看看这个功能有没有写到内存溢出。

Review了下代码应该不会出现这个问题,但还是要观察一下。

2015-06-24   #4

这个功能会不会让用户感到厌烦呢

2015-06-24   #5

回复#4 @szdbb112 :消息通知而已,Android上的应用,有消息也要通知用户的吧。

及时通知用户可以提高社区活跃度。

2015-06-24   #6

习惯了每天来看一看;坐等新版本发布;

2015-06-24   #7

回复#6 @fhjjgz :至少也得再过几个月,上个版本发布到现在也才一个多月。

2015-06-24   #8

WebSocket应该是个更好的方案,虽然兼容性稍微差了些。

可惜PHP的Socket写起来并不实用,在很多主机上也跑不了。

如果不是开源项目的话我估计会用node.js来写这个消息推送的模块,用WebSocket。

后续有空的话,我再用node.js重写一个消息推送模块,供对性能有需求的、业务量大、有自己独立服务器的用户使用?

待定。

2015-06-25   #9

blob.png

开了一夜,没发现消息推送模块有内存泄漏问题,一夜下来也只跑了几十K流量。

http://www.94cb.com/t/2734#Post6425

经其他人测试也能正常推送消息。

2015-08-10   #10

blob.png

后台加了个推送间隔设置,理论上设置越大对服务器资源消耗越少,但是注意这个数值不能超过PHP最大超时时间(需要自己对php.ini进行修改),所以如果不懂这些,不要修改,就可以保证它正常工作。

2015-08-10   #11

回复#1 @lincanbin :

如果检测到不支持消息推送,可以用弹出框代替吧?

2015-08-10   #12

回复#11 @shiqiren :

弹出框并不能在网页被最小化时弹出到前台,并且Alert用户体验也无法时间到了就自动关闭。

这个只能说是IE用户倒霉了,微软手脚一直就这么慢。

2015-08-10   #13

回复#12 @lincanbin :

像QQ邮箱那样觉得怎样?不过这个功能实际使用应该不会很强烈的需求

2015-08-10   #14

回复#13 @shiqiren :

QQ邮箱那种网页上的右下角浮层提醒?


我觉得没什么必要,如果收到消息,网页的Title会改变,这应该是相当显眼的了,就算是在外部,如果在页面内部的话,顶部的红点也非常显眼。

2015-08-11   #15

回复#10 @lincanbin :

3.3.6版本有这个设置吗?貌似我部署的管理员登录之后,没有相应的设置。

2015-08-11   #16

回复#14 @lincanbin :

修改推送超时时间这个设置项

2015-08-11   #17

回复#15 @咖咖咖 :

3.3.6没有这个设置项,默认的设置就可以用了。

不懂的人乱设置反而容易导致推送不能用,加入这个设置我也是再三权衡的。

27 天前   #18

现在不支持这个功能了吧

27 天前   #19

回复#18 @forecho :

一直都是支持的,现在最新版的Edge浏览器也支持了。

登录后方可回帖

登 录
信息栏
购买PHP虚拟主机 / VPS

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.0.1
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

Loading...