ajax-PHP-MySQL是聊天室应用的一个很好的组合吗?


is ajax-PHP-MySQL a good combination for a chat room app?

我计划为我大学里的朋友创建一个小型聊天室。由于我不想投入任何资金,我将使用不允许我安装IRC服务器的免费主机。我也喜欢使用ajax和PHP,因为我已经知道它们了。

是一个自我刷新ajax和PHP页面一个好主意吗?与每秒一样,ajax触发一个PHP脚本,该脚本返回聊天历史记录中最新的,比方说20个MySQL条目。

当用户写东西时,它被插入到MySQL数据库中,你可能已经知道了。

这是个好主意吗?

你还有其他保存信息的方法吗?比MySQL更优化的东西?

或者任何完全不同的想法,可以实现我的目的?

提前感谢!
安迪:)

编辑:MySQL数据库和文本文件哪个更好?(jquery首选文本文件,为什么?)

如果你使用内存表,你可以节省很多硬盘速度,你需要选择正确的索引。

数据库结构示例:

CREATE TABLE `chat` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `channel` varchar(16) NOT NULL,
 `user` varchar(32) NOT NULL,
 `text` varchar(255) NOT NULL,
 `private` varchar(32) DEFAULT NULL,
     PRIMARY KEY (`id`),
 KEY `private` (`private`),
 KEY `channel` (`channel`)
) ENGINE=MEMORY

我有大约70-80个用户在线,但服务器上没有任何负载(服务器有2GHz CPU)

也许一个免费的主机应该有不好的数据库。所以,如果你不断地访问它,你的聊天将是非常缓慢的(除非聊天不打算使用很多)。

无论如何,有一些免费的选项可以用于您的目的(而不是自己开发):

http://www.phpfreechat.net/

http://www.phpopenchat.org/

http://hot-things.net/blab-lite-ajax-chat

下面是一些带有示例的教程:

http://css-tricks.com/4371-jquery-php-chat/

http://www.tutorialized.com/tutorials/PHP/Chat-Systems/1

http://php.resourceindex.com/Complete_Scripts/Chat/Shoutbox/

问候!

这是一个非常典型的基本聊天室的方法,对我来说似乎很好。我唯一建议的是为每个聊天记录分配一个自动增量id,这样ajax就可以跟踪它收到的最新消息。这样,如果最后接收到的消息的ID为100,ajax就可以请求ID为101或更高的项目。然后你只需要拉出新的消息,它们可以被附加到聊天窗口,而不是刷新整个页面。

你为什么想再发明电呢?如你所说:

或者任何完全不同的想法,可以实现我的目的?

有很多聊天室,你为什么不使用它们?

无论如何,从编程的角度来看,如果你打算做一个小聊天室,你的想法似乎很好。但是随着用户的增加,您将面临服务器上的过载,并可能导致空闲主机上的崩溃。

相关文章: