【问题标题】:jquery Chat with PHP mySQLjquery 与 PHP mySQL 聊天
【发布时间】:2012-07-30 15:05:01
【问题描述】:

我今天给自己设定了一个挑战,要在半小时内编写一个 jQuery 聊天。我最终花了 40 分钟。

但是,我想改进它,这样服务器和浏览器上的负载就不会太可怕了。

当前用户在一个文本框中输入,按回车,这个数据被发送到一个 .php 文件,该文件更新一个 mySQL 表并输出表上的所有行。

div 上有一个设置的 Interval 每两秒更新一次,如果有人在没有用户按 Enter 的情况下说出任何内容。

我只是想知道如何以更好或最有效的方式执行此操作。我想了解最适合使用的技术及其原因。

感谢您的所有意见,我喜欢堆栈溢出,它对我来说非常宝贵。

【问题讨论】:

  • 去阅读 Node.js 和 SignalR。
  • 你可以使用Ajax
  • 这就是我正在用 .load() 做的事情
  • @mdm 你有这些链接吗?
  • 是的,我找不到像样的教程,我不知道我在读什么。

标签: php jquery mysql chat


【解决方案1】:

对带有“php back”/“javascript front”技术堆栈的聊天应用程序使用 ajax 轮询将不可避免地导致服务器负载过重。 Http 并不是为这种通信而设计的,如果您使用的是 apache(我假设),那么每个请求的开销都会非常大。

正如一些评论指出的那样,您可以使用全栈 javascript 框架(即后端的 Node.js)进行调查。

当我的任务是使用 php 后端和 Javascript 前端(使用定期 ajax 轮询)加速现有聊天应用程序时,我最终使用了第 3 方服务器端产品来处理轻量级 XMPP 请求。这个服务器端产品是OpenFire,但您可以使用eJabberd 以获得更好的性能——尽管OpenFire 更容易设置和维护。结果非常令人满意,服务器负载显着下降,并且消息立即传递给大约 1000 名在线聊天的用户(在性能低于平均水平的专用 linux 机器上)。

很难解释 SO 答案范围内的所有微小细节,但幸运的是 Ben Werdmuller @IBM 特意写了一篇关于这个主题的 awesome tutorial

【讨论】:

  • 请注意:XMPP 实际上是 facebook 用来进行聊天的工具,所以这可能是其可扩展性的标志
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
  • 2011-07-12
  • 2017-09-10
  • 1970-01-01
  • 2011-11-21
  • 2011-08-25
  • 2011-05-30
相关资源
最近更新 更多