【问题标题】:How to get realtime updates?如何获得实时更新?
【发布时间】:2011-09-12 09:26:27
【问题描述】:

我经常在 Facebook 上聊天,因为我越来越喜欢编码,所以我尝试创建一个聊天脚本!这里是 ::: http://wooflux.co.cc/ChatSystem.1.1/ChatSystem.1.1/

你试试看。但它只是一个测试版,所以它有一些错误。最大的错误之一是它需要良好的互联网速度才能获得实时更新。但是,当我将网络速度推到最大,然后在 Facebook 上与我的一位朋友聊天时,它就可以实时运行了!我想知道他们是怎么做到的?谁能解释一下他们是如何做到这一点的。目前,我以数字间隔发送 Ajax 请求以获取实时更新。因此,请通过解释或提供链接来帮助我,说明 Facebook 如何在不占用大量 Internet 速度的情况下实现实时聊天?

【问题讨论】:

  • 使用 websockets、node.js 和 socket.io。
  • 这个问题的措辞可能很糟糕,但它是一个非常可靠的问题。 “如何减少基于 Web 的聊天应用程序的延迟”

标签: php javascript html facebook real-time


【解决方案1】:

要进行实时通信,您需要正确的连接。

您可以使用WebSockets 为您提供真正的浏览器-服务器 TCP 连接。

WebSockets 的替代方案是 Flash 桥接器(在 Flash 中使用 WebSockets)或COMET 技术。

我个人的建议是像socket.io 这样的WebSocket 抽象。

Socket.io 建立在服务器端 Javascript 的 node.js 之上。它擅长事件异步实时通信。

如果您沿着节点路线走,您不妨选择now,让您的生活更轻松。它有一个关于在 12 行中制作聊天服务器的截屏视频。

【讨论】:

  • NowJS 不再可用。
【解决方案2】:

使用COMET 将您的消息推送到客户端,而不是一直轮询您的服务器

见:Using comet with PHP?

【讨论】:

    【解决方案3】:

    我不知道 Facebook 是如何做到的,但我们使用 Node.js 进行推送。访问http://www.no-margin-for-errors.com/blog/2010/07/26/deliver-real-time-information-to-your-users-using-node-js/ 获取示例。

    【讨论】:

      猜你喜欢
      • 2022-06-17
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-20
      • 2017-12-13
      • 1970-01-01
      • 2020-06-30
      • 2023-03-14
      相关资源
      最近更新 更多