套接字连接是否优于Intarvaled数据库扫描和请求?

时间:2010-05-26 04:22:05

标签: php mysql ajax

我正在构建一个小型聊天应用程序以添加到现有框架中。任何时候只有 20-50 用户最大

我想知道我是否可以通过执行定时查询和常规AJAX刷新,为任何用户碰巧正在聊天的情况下使用 pdating缓存文件包含(半)实时聊天数据用于新数据,而不是学习如何打开和维护套接字连接

我确定那里有现有的聊天插件,但我只是花了很多时间来安装一个,我可以看到构建整个该死的东西花费的时间与插入一样多。

我是一个糟糕的开始吗?

先谢谢-J

(p.s。这是一个在PHP登录后面的半封闭网络,因此安全性不是很重要)

2 个答案:

答案 0 :(得分:1)

首先,我建议您阅读JavaScript Long Polling以即时检索您的数据。

就收集和分发数据而言,我建议您使用支持LISTENNOTIFY的数据库。 (例如,Postgres在PHP中为您提供pg_get_notify()

通过长轮询和支持通知的数据库(如Postgres),您可以轻松构建实时,可扩展的聊天应用程序。

其他资源和链接:

答案 1 :(得分:0)

我认为长期投票是一种很好的方法。然而,理解它并正确地完成它比仅仅轮询间隔要困难得多。拥有20-50个用户,可扩展性应该不是问题。对于良好的长轮询设计,您应该了解如何避免在http请求的生命周期内暂停服务器线程。

从一个简单的民意调查方法开始,然后推进长期民意调查可能是明智之举。