2016-02-01 2 views
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.

Так что я спрашиваю, есть ли способ сделать это с WS на webHosting или есть лучший/более простой способ для этого общения с клиентом и сервером.

+0

Вы можете установить socket.io, чтобы установить константу между вашим интерфейсом и вашим внутренним интерфейсом. Вы найдете больше информации о том, как реализовать его в PHP по этой ссылке http://stackoverflow.com/questions/6398887/using-php-with-socket-io –

ответ

0

Если вам нужно придерживаться PHP, тогда я бы посоветовал использовать long polling. Это более эффективное и эффективное решение, чем текущее.

Вы можете найти хороший пример длительного опроса в PHP here.

Смежные вопросы