每秒使用Ajax请求有多安全
我已经创建了一个聊天室,它使用ajax请求通过setTimeOut函数每秒检查一次新消息,我实现了这一点,但我唯一的问题是,每秒之后从服务器请求数据可以吗?或者可能会引起一些问题?下面是我的代码:每秒使用Ajax请求有多安全,ajax,refresh,settimeout,Ajax,Refresh,Settimeout,我已经创建了一个聊天室,它使用ajax请求通过setTimeOut函数每秒检查一次新消息,我实现了这一点,但我唯一的问题是,每秒之后从服务器请求数据可以吗?或者可能会引起一些问题?下面是我的代码: function refresh(){ setTimeout(function(){ $.ajax({ type: 'POST', url: 'checkNewMessage.php', data: { sender:$sender, recip
function refresh(){
setTimeout(function(){
$.ajax({
type: 'POST',
url: 'checkNewMessage.php',
data: { sender:$sender, recipient:$recipient},
success: function(response) {
$('#newComm').val(response);
if($('#newComm').val()>$('#oldComm').val()){
$.ajax({
type: 'POST',
url: 'appendNewMessage.php',
data: { sender:$sender, recipient:$recipient},
success: function(response) {
$("#chatRoom").prepend(response).fadeIn(4000);
$('#oldComm').val($('#newComm').val());
}
});
}else{}
}
});
refresh();
},1000);
}
这个问题的答案取决于你 使用定时请求轮询服务器并不是实现您希望实现的目标的最佳方式。在这里,我建议使用WebSocket: 回到你的问题上来。这取决于您的服务器和它将承担的负载。假设您有十个活动用户。因此,您的服务器每秒将接收大约10个请求—不会太多 您可以运行基准测试,看看服务器每秒可以处理多少请求。但处理请求与回答每个请求不同
如果您的聊天室中没有那么多用户,您可能会同意这种方法。对于更大的负载,我强烈建议切换到WebSocket。问题不在于频率,而在于服务器的总体容量以及可能发出请求的聊天客户端的数量。