【发布时间】:2022-02-12 19:41:57
【问题描述】:
我拥有一个小型消息传递平台,我正在努力让它上线,所以一切都需要在没有任何刷新的情况下运行。使用 Ajax 发送消息,并且该过程无需刷新。我还试图确保当爱丽丝向鲍勃发送消息时,鲍勃(几乎)立即收到它。出于这个原因,我使用此脚本每秒刷新包含所有消息的 div:
<script>
$(document).ready(function() {
var pageRefresh = 1000;
setInterval(function() {
refresh();
}, pageRefresh);
});
function refresh() {
$("#messagesframe").load(" #messagesframe > *");
}
</script>
<div id="messagesframe">
<!-- messages displayed here! -->
</div>
这确保每秒钟都会显示新消息。但是,我怀疑这可能会减慢应用程序的速度。因此,我问你,这种怀疑是否有根据,或者这个程序是否无害。任何帮助表示赞赏。
注意:我使用的是 PHP。
【问题讨论】:
-
刷新数据而不是刷新 div 可能会更好,但我担心的是,如果您从数据库中提取数据,那将是一个大问题。我的建议是,尝试使用带有事件的后端框架,一旦用户发送消息就会启动。
-
毫无疑问,您希望实现的即时双向消息传递平台的最佳选择是使用websockets,也许最简单的可能是node.js - 大量tutorials are available