<分区>
我尝试在 Php 中创建一个聊天应用程序,我使用了以下逻辑。
1.从用户 1 获取输入并将其插入到表中。
2.每 5 秒运行一次 ajax 函数以在表中查找新条目并显示给用户 2。
3.反之亦然。
这个程序真的太慢了,浏览器经常挂起。
实时聊天应用程序实际上是如何工作的?数据库能不能在前端自动触发一个事件,这样我们就不用每隔5秒就去打一次数据库?如果是,它是如何完成的?
谢谢。
<分区>
我尝试在 Php 中创建一个聊天应用程序,我使用了以下逻辑。
1.从用户 1 获取输入并将其插入到表中。
2.每 5 秒运行一次 ajax 函数以在表中查找新条目并显示给用户 2。
3.反之亦然。
这个程序真的太慢了,浏览器经常挂起。
实时聊天应用程序实际上是如何工作的?数据库能不能在前端自动触发一个事件,这样我们就不用每隔5秒就去打一次数据库?如果是,它是如何完成的?
谢谢。
最佳答案
该策略称为轮询,它在 2000 年代初期对我们很有帮助,但它已经过时了。
更好的增强是长轮询。我们请求一个网页,但服务器不会立即响应,而是等到有可用的新信息。客户端收到新信息后,立即发送新请求等。
现在在 2015 年,我们有了 HTML5 Websockets 和 HTML5 SSE(服务器发送事件),它允许客户端和服务器在任何时候(在任何一个上)发送数据侧)可用。
关于javascript - 聊天应用程序如何在没有重复 ajax 调用的情况下工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32545504/