【问题标题】:Get the best results from my real time application从我的实时应用程序中获得最佳结果
【发布时间】:2017-11-28 12:11:29
【问题描述】:

实时应用的最佳实践

您好,我正在寻找一种有效的方式来创建实时聊天。

我现在可以使用的技术:

  1. PHP
  2. MySql
  3. jQuery / Ajax
  4. HTML5
  5. CSS

我做了一些研究,发现了一个非常有趣的东西,叫做long polling

从 url 我找到的解决方案是做下一个

(function poll() {
   setTimeout(function() {
       $.ajax({ url: "server", success: function(data) {
            sales.setValue(data.value);
       }, dataType: "json", complete: poll });
    }, 30000);
})();

与setInterval 相比,这非常有效,并且在我看来,鉴于我使用的当前技术,这将是最好的方法,因为我不是一个很有经验的人我想问你是否可以帮助我创建如果可能的话,一段更高效的代码。

学习node js之类的会更好 为一个可以拥有例如 1,000,000 名成员的应用程序创建一个实时应用程序(如聊天)也是一个好主意吗? 我认为服务器可能会崩溃,这让我很害怕,或者如果一个用户同时与 20 个用户聊天,可能会导致什么?

PS: 我希望使用 AWS,因为除了我使用的技术或技术之外,我似乎可以为我的用户获得良好的结果。

【问题讨论】:

  • 同时调查 websockets 或 webRTC。许多不同的方法可用于创建聊天

标签: php jquery mysql ajax jquery-plugins


【解决方案1】:

我会推荐学习socket.io

使用 ajax 长轮询创建网络聊天会起作用 - 但这不是最好和有效的方法。

使用流行的 Web 应用程序堆栈编写聊天应用程序,例如 LAMP (PHP) 历来非常困难。它涉及轮询 服务器进行更改,跟踪时间戳,而且速度要慢得多 比它应该的。

传统上,套接字一直是大多数人所采用的解决方案 实时聊天系统的架构,提供双向 客户端和服务器之间的通信通道。

这意味着服务器可以向客户端推送消息。每当你 写一个聊天消息,想法是服务器会得到它并推送 它给所有其他连接的客户端。

https://socket.io

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2010-09-13
    • 1970-01-01
    相关资源
    最近更新 更多