php站内短消息 实时显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php站内短消息 实时显示相关的知识,希望对你有一定的参考价值。

类似的功能是怎么实现的,请说一下大概的思路(关于实时)。
我想的是A给B新留了一条消息,如果B刚进入站点,那简单,看数据库中有没有未读消息,然后提醒、显示等等, 如果用户正在线上,新来了一条消息,那怎么实时地更新用户页面的内容啊(在用户没有动作的前提下),我想的是ajax定时查询有无新消息,不过这样如果时间间隔长了(就算不上实时了),短了(会不会对服务器、带宽、或者产生较大的压力呢)?
我想知道像三国杀这样的网页游戏,对方出了一张牌,立刻显示了,这肯定不会是ajax不停地在查询吧?请高手讲讲,谢谢!

你说的游戏一般来说都是长连接。不是咱们一般的短连接。我知道的有用c++写这部分的。前端flash,后端php,中间用c++的框架当长连接的桥。这部分我也不会,只是知道。
如果是ajax,你可以页面开开之后就发送一个ajax请求。
php端的程序,可以是一分钟(时间自定,看你php设的超时时间)的死循环。查到值,就退出返回。查不到,停五秒(时间间隔自定),继续下次循环。到时后退出循环,返回一个继续的值。
页面的js,接受到值,就显示。然后发送下一次ajax请求。接受不到,直接发送下一次请求。
等于只要页面开着,后台就一直有一个php程序在查询着数据库。
参考技术A 可以通过ajax轮询,如果有则提示有新消息,必要的话,JS修改标题加上[有新消息]通知,

或者,html5推送,服务器查到有新内容,则推送的浏览器
非html5,可以利用flash~

以上是关于php站内短消息 实时显示的主要内容,如果未能解决你的问题,请参考以下文章

6_2_站内信

xmlhttprequest status站内搜索404

PHP核心编程--站内搜索

PHP站内搜索

以 B 站为例,聊聊站内消息系统的设计

如何用python实现站内消息系统求思路