可能是一个太宽泛的问题,但我还是会问..
因此,我用自己的 php 知识制作了一个聊天应用程序,它也能正常工作,但是由于我设置了每隔 10 秒显示一次消息的时间间隔,它会占用大量带宽。所以我想知道...
- 有没有办法在我的数据库中添加新消息时设置时间间隔?
- 或者也许你们中的一些人知道我应该通过其他方式解决这个问题?
这是我到目前为止所想到的
<?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);
最佳答案
Is there a way to setInterval whenever new messages is added on my database?
要在新消息添加到数据库(服务器)时通知客户端,您需要使用 WebSocket
将数据推送到客户端。
setInterval
的作用称为轮询,它重复调用服务器以查看是否已添加新消息,如果是,则检索它。
Or perhaps any other way some of you know that i should approach this problem?
据我所知,使用 WebSocket 是最好的方法。您还可以使用一些技术来简化您的工作,例如 socket.io , PubNub & MQTT .
关于javascript - 添加新内容时设置间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42414928/