1

我正在使用 PHP、AJAX、MySQL 数据库和大量 jQuery 来构建基于 Web 的聊天系统(类似于 Facebook 聊天)的原型。我被困在如何“收听”传入的聊天......什么时候知道有人试图和我聊天......并且知道这是一个新的聊天,而不是现有的聊天。

现在,我正在轮询数据库表中是否有新的插入,但似乎效率很低……服务器开销很大。

例如,有没有办法在 MySQL 数据库的表中插入一行时接收通知,这样我就可以收到通知,然后查看插入的内容,而不是不断轮询?

如果有更好更有效的方式来建立这种一对一的聊天关系,请给我一些建议。

谢谢, 赫里斯托

4

2 回答 2

5

您必须使用轮询,但您可以使用一种称为 Comet 的技术,该技术涉及长轮询,即发送一个 ajax 请求,该请求将由服务器持有,直到有聊天请求进入。

http://en.wikipedia.org/wiki/Comet_(programming) )

于 2010-06-30T02:29:40.543 回答
1

我认为轮询是 JavaScript 推送服务器端更改的唯一方法。

于 2010-06-30T02:23:48.247 回答