【发布时间】:2010-06-30 02:18:45
【问题描述】:
我正在使用 PHP、AJAX、MySQL 数据库和大量 jQuery 来构建基于 Web 的聊天系统(类似于 Facebook 聊天)的原型。我被困在如何“收听”传入的聊天...何时知道有人试图与我聊天...并且知道这是一个新聊天,而不是现有聊天。
现在,我正在轮询数据库表中是否有新插入,但似乎效率很低……服务器开销很大。
有没有办法接收通知,例如,在 MySQL 数据库的表中插入了一行,这样我就可以收到通知,然后查看插入的内容,而不是不断轮询?
如果有更好更有效的方式来建立这种一对一的聊天关系,请给我一些建议。
谢谢,赫里斯托
【问题讨论】:
-
您可以使用 ajax 每隔 X 秒检查一次您的条目...如果输入的 id 较高的条目然后您收到的最后一条消息被输入,那么您可以使用新用户打开一个新窗口聊天或在给定的打开窗口上打印它,这取决于您的聊天如何工作以及您的数据库结构如何......以及您是否想要像信使或普通多用户聊天这样的东西。
-
ahhh.. 更高的 id... 好点,我没想到。我正在关闭时间戳,但这很难处理。谢谢,我会试试的。
标签: php mysql ajax chat ajax-polling