предупреждающее сообщение при обновлении базы данных - PullRequest
0 голосов
/ 26 декабря 2009

Я создаю приложение чата в php.

AIM: когда user1 приглашает user2 , user2 хочет получить предупреждение или всплывающее сообщение, которое user1 приглашает его.

То, что я сделал, это -

Когда user1 приглашает, сообщение сохраняется в базе данных. На стороне пользователя я использовал, чтобы проверить, База данных обновлена ​​или нет. Если база данных обновляется, я использовал, чтобы показать предупреждение. Это я сделал на php и javascript, но не работал все время.

Это хороший метод? Любой другой метод?

Ответы [ 4 ]

2 голосов
/ 26 декабря 2009

Используйте Ajax для периодической отправки запроса на сервер. Ответ будет содержать любые приглашения, которые есть у пользователя. Ответ может быть в JSON , который можно легко оценить в JavaScript.

1 голос
/ 26 декабря 2009

Для систем чата и обмена мгновенными сообщениями вы должны исследовать использование технологии на основе Push, такой как Comet. Дополнительная информация в этой теме : реализация с jquery.

1 голос
/ 26 декабря 2009

Использование (как минимум) двух поездок по базе данных - плохой способ обработки чата в реальном времени. Если вы делали какую-то сохраненную систему чата, то есть систему сообщений. Но, учитывая, что вам нужно только удерживать текст в течение секунды или двух, я бы либо использовал SQL-Lite, либо другое решение только для памяти. Это будет намного быстрее и проще на вашем сервере.

1 голос
/ 26 декабря 2009

Все клиенты могут использовать jquery и периодически отправлять следующий запрос:

function checkIfIAmInvited()
{
     jQuery.ajax({
       type: "POST",
       url: "some.php",
       data: "name=currentUser&",
       success: function(msg){
         if(msg.indexOf('uninvited') !== -1 )
         {
            alert( "You have been invited by " + msg );
            //Method to do stuff once I am invited
            iAmInvitedMethod();
         }
     });
}

Для периодического вызова вышеуказанного кода вы можете использовать следующий код в jquery / javascript. Это будет делать периодические звонки и получать ответ обратно к вам. Как только ответ приходит без указания «незваной» строки, он выдает предупреждение и также вызывает функцию метода post.

Это можно повторно вызывать с помощью следующего кода.

window.setInterval("checkIfIAmInvited()", 5000);

Это будет проверять каждые 5 секунд, есть ли какие-либо приглашения. В качестве альтернативы для лучшего контроля плагины jquery, такие как Timer, можно использовать для повторного выполнения чего-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...