0
我正在做簡單的php webChat和使用MySQL數據庫。我的通信基於AJAX請求,當有人發佈消息時,它將被保存。PHP聊天客戶端 - 服務器通信
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。
所以我問是否有一種方法可以通過web上的WS來實現,或者有更好/更簡單的方法來完成這個客戶端/服務器通信。
你可以通過socket.io在你的前端和你的後端之間設置一個常量。你可以在這個鏈接中找到更多關於如何在PHP中實現它的信息http://stackoverflow.com/questions/6398887/using-php-with-socket-io –