添加新内容时的setInterval



可能的问题可能过于广泛,但我还是要问。

因此,我已经对自己的PHP知识进行了聊天应用程序,但是我也可以使用它,但是由于我设置了一个间隔以显示我的消息,以显示我的第10秒钟,它窃取了很多带宽。所以我想知道...

  • 每当我的数据库中添加新消息时,是否有一种方法可以设置Interval?
  • 或者也许还有其他任何方式,有些人知道我应该解决这个问题?

这是我到目前为止提出的

<?php 
include "connect.php";
$query = "SELECT * FROM messages ORDER BY id ASC";
$result = $con->query($query);
if($result){
while($row = $result->fetch_object()) 
{   
    echo '<div id = "hehe">';
    echo '<div class = "userpic"><img src = "'.$row->userpic.'" class = "userpic"></div>';
    echo "<ul id = 'rutor'>";
    if (isset($row->displayname) && !empty($row->displayname)) {
        echo '<li class = "userlada">'.$row->displayname. "</li>";
    }
    else{
        echo '<li class = "userlada">'.$row->username. "</li>";
    }
    echo '<li class = "usertext">'.$row->message. "</li>";
    echo "</ul>";
    echo "</div>";
    }       
}
?>

我的间隔功能以查看消息

setInterval(function() {
$( ".chatMessages" ).load( "getMeddelanden.php" );
}, 10000); 

每当我的数据库中添加新消息时,是否有一种方法可以设置Interval?

每当将新消息添加到数据库(服务器)时,您需要使用WebSocket将数据推到客户端。

setInterval所做的是民意调查,它反复调用服务器以查看是否添加了新消息,如果是的,则将其检索。

,或者也许还有其他任何方式,有些人知道我应该解决这个问题?

据我所知,使用WebSocket是最好的方法。您还可以使用一些技术来使您的工作更轻松,例如socket.io,pubnub&amp;mqtt。

最新更新