gpt4 book ai didi

javascript - 使网页实时和多用户的最佳方式

转载 作者:行者123 更新时间:2023-11-30 13:22:37 25 4
gpt4 key购买 nike

我正在构建一个用于“头脑 Storm ”的网络应用程序。它是这样工作的:本质上,用户可以进入应用程序,提交挑战,或点击已经存在的挑战,然后想出解决挑战的想法并将其发布。我在 couchdb 上拼凑了一个基本示例:http://wamoyo.iriscouch.com/ideageneration/_design/IdeaGeneration/attachments%2findex.html

我打算从头开始重建它,并且我正在迎接一个对我来说非常陌生的挑战。我希望多个用户能够同时针对同一挑战产生想法。有点像 google docs 允许多人编辑共享文档的方式。我对如何解决这个问题有一些初步的想法,但我想我应该在这里问问专家网络。

我对 AJAX 相当满意,是否有一种纯 AJAX 方式可以让它变得活泼和多用户?使用 node.js 会有巨大的好处吗?还有哪些其他选择?

非常感谢!

最佳答案

有几种制作此类网页的方法,使用普通 ajax 轮询、使用长轮询和使用网络套接字。

  • Ajax 轮询 - 易于实现,本质上是通过 javascript 计时器循环连接到服务器,从服务器检索数据并通过常规 Ajax 将其发回。

    • 优点:易于实现,无处不在
    • 缺点:更新不是实时的,只有在计时器计时时才会交换数据。
  • Long polling - 这个想法是连接保持打开状态直到超时,然后重新建立连接。由于不同 Web 服务器、路由器等的请求超时设置不同,因此实现起来可能很棘手。

  • Web sockets - HTML5 保护伞的一部分,仅适用于相当现代的浏览器,协议(protocol)经常更改,这可能会导致开发和生产过程中的不兼容。可以在现代浏览器中本地使用,也可以通过 Flash 插件与旧浏览器一起使用。这种技术是最轻量级的,因为它不会产生所有的 HTTP 开销。将其视为浏览器和网络服务器之间通过 TCP 的双向全双工通信 channel 。

有关详细讨论,我建议阅读 this good post by Scott Hanselman .它讲述了 SignalR 的故事,但适用于其他服务器端框架。

还有一个podcast由同一作者, guest 相当深入地解释了这些技术。值得一听,IMO。

要回答您关于 node.js 的问题,请与我们分享您当前的服务器技术,以便我们更深入地了解您的技术栈。

关于javascript - 使网页实时和多用户的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9662408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com