【发布时间】:2016-02-01 16:20:37
【问题描述】:
我正在制作简单的 php webChat 并使用 MySQL 数据库。我的通信基于 AJAX 请求,当有人发布消息时,它将被保存。
function sendData(){
var textData = $('#chatText').val();
console.log(textData);
$.ajax({
type:'POST',
url:'saveMessage.php',
data: {
message:textData
},
dataType: 'text',
success: function(data){
$('#sendInfo').html(data);
},
error: function(/*jqXHR, exception"*/ts){
$('#sendInfo').html("Error send" + ts.responseText);
}
});
} 消息由另一个请求从数据库加载,其中设置了一个计时器,每 1 秒向服务器发送一次请求。
$( document ).ready(function(){
setInterval(check, 1000);
});
function check(){
$.ajax({
type:'GET',
url:'checkMessages.php',
dataType:'json',
success: function(result){
//$("#messageBox").append(result);
for(var i in result){
$("#messageBox").append(result[i].email + ": " + result[i].mesgVal + "<br>");
}
},
error: function(/*jqXHR, exception"*/ts){
$('#sendInfo').html("Error check " + ts.responseText);
}
});
}
由于从客户端到服务器的请求数量,此方法很糟糕。我一直在寻找更好的解决方案,并找到了 webSockets(WS)。我的问题是我正在使用 webHosking,我只找到了 LOCAL HOST 教程。例如this。
所以我想问是否有办法在 webHosting 上使用 WS 制作它,或者有更好/更简单的方法来进行客户端/服务器通信。
【问题讨论】:
-
你可以通过 socket.io 在你的前端和后端之间设置一个常量。您将在此链接stackoverflow.com/questions/6398887/using-php-with-socket-io 中找到有关如何在 PHP 中实现它的更多信息
标签: javascript php mysql client-server