【问题标题】:Implementing ajax to make a functioning live chat实现 ajax 以进行有效的实时聊天
【发布时间】:2021-05-25 13:42:02
【问题描述】:

我正在尝试为我的网站构建一个简单的实时聊天,我已经设置了所有内容,包括数据库、登录和注销系统、表单、在聊天表单中显示数据库值。

我唯一缺少的是实现实时刷新功能,这样用户就不必手动刷新站点来查看新消息。 我有点迷茫,你能给我一些指导吗? 我猜我必须在发送消息时添加一个特定的 javascript 调用,或者按下“发送”按钮更具体,然后调用一个函数来刷新每个参与者的聊天。不确定从哪里开始或使用哪个代码。

【问题讨论】:

  • 您想自己实现还是可以使用外部库?
  • 研究 websockets。
  • 最简单的方法之一是使用 setInterval() 和 ajax 调用来获取新消息。一种可靠的方法是使用套接字
  • 我想自己实现它或使用其他东西。我希望尽可能高效,setInterval 将基于计时器工作,不是吗?这无疑会导致问题

标签: javascript php ajax


【解决方案1】:

基本上,您有两种方法来实现它。

  1. 使用带有 ajax 请求的 轮询技术,这将为您提供更大的兼容性,但您将需要做更多的工作来实现它。对于现在的大多数情况,我真的不考虑它,因为它可能非常低效。

  2. 使用 socket 机制,您可以使用 web sockets 作为开箱即用的解决方案,现在大多数浏览器都支持它您可以使用 socket.io 的第三方库,它可以回退到 Web 套接字,但它提供了一些开箱即用的功能,例如通道,您会从中受益从。最后,对于第三方服务,您可以使用他们拥有实时数据库的 firebase/firestore,因此每当发生更改时,您都会收到通知。

我建议使用 Web 套接字方法(本机)或使用像 socket.io 这样的包装器/库。如果您使用 Socket.io,那里有很多与该库建立聊天的教程,因此您可以非常快速地获得工作示例。

【讨论】:

  • 我去看看,非常感谢
猜你喜欢
  • 2011-06-01
  • 2011-07-12
  • 2010-10-31
  • 2011-02-27
  • 2015-11-19
  • 2015-02-23
  • 2012-07-07
  • 1970-01-01
  • 2021-05-16
相关资源
最近更新 更多