2016-12-16 5 views
1

В настоящее время я работаю над системой SMS в реальном времени, но я уверен, что моя текущая реализация - ужасная практика, и я ищу руководство, чтобы быть более эффективным с этим.PHP и Twilio Real-time?

Попытка

В настоящее время, когда вы загрузите интерфейс он вытягивает все текстовые сообщения для этого номера вы выбрали. Затем он запускает вызов ajax каждые 5 секунд для скрипта Twilio JSON PHP, который я написал, запрашивая сообщения, более новые, чем последнее сообщение в списке.

$.getJSON("/includes/twilio.php",{action:"getconvo",cid:customer.customer_number},function(data){ 
     $('#sms_messages').html("<div></div>"); 
     $(data.messages).each(function(){ 
      insertSMS(this.msg,this.date,this.from); 
      lastMessage = this.date; 
     }); 
     $("#sms_messages").animate({ scrollTop: $('#sms_messages > div').height()},"fast"); 
     shouldUpdate = true; 
     sms_interval = setInterval(function(){updateSMS(customer.customer_number)},5000); 
}); 

Update Функция

function updateSMS(cid){ 
    if(shouldUpdate){ 
     $.getJSON("/includes/twilio.php",{action:"getconvo",cid:cid,date:lastMessage},function(data){ 
      if(data.messages.length > 0){ 
       // Play an embeded sound effect when a new message is found. 
       $('#sms_sound')[0].play(); 
       $(data.messages).each(function(){ 
        insertSMS(this.msg,this.date,this.from); 
        lastMessage = this.date; 
       }); 
       $("#sms_messages").animate({ scrollTop: $('#sms_messages > div').height()},"fast"); 
      } 
     }); 
    } 
} 
+0

Запросы на просмотр кода здесь не по теме. Для таких вопросов есть подходящий [сайт SE] (http://codereview.stackexchange.com/). – hindmost

ответ

2

Twilio разработчик евангелист здесь.

Я не рекомендую опробовать Twilio API для получения SMS-сообщений реального времени. Опрос неэффективен и будет поддерживать как ваши серверы, так и серверы Twilio, занятые дольше, чем это необходимо.

Скорее, я бы использовал Twilio's webhooks to receive messages. Затем, пока вы находитесь на странице для получения сообщений, я бы выполнил либо Server Sent Events (see this article for an in depth description of SSE as well as example PHP code to implement), либо веб-сокеты (вот статья на web sockets in PHP и library built as part of it), чтобы выталкивать новые сообщения, которые вы получаете с веб-камеры, на свою страницу.

Дайте мне знать, если это поможет вообще.

+0

Спасибо. Я собираюсь вникнуть в статью и посмотреть, что я могу придумать. :) –

+0

Удивительный, надеюсь, что все идет хорошо! – philnash

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

  • Нет связанных вопросов^_^