Как реализовать модерацию чата в живом чате AJAX? - PullRequest
1 голос
/ 29 декабря 2010

Я сделал довольно простой чат AJAX с PHP и MySQL.Сообщения чата хранятся в базе данных MySQL, и я опрашиваю (я знаю, я знаю) каждые несколько секунд, чтобы проверить наличие новых сообщений.

Для того, чтобы уменьшить пропускную способность и время обновления, я установилэто так, что по первому запросу он возвращает все сообщения, а затем каждый запрос после этого возвращает только сообщения с идентификатором, превышающим идентификатор последнего сообщения, полученного клиентом, добавляя эти новые сообщения в конец чата и удаляястарые в верхней части, чтобы постоянно поддерживать чат на 150 сообщений.

Это прекрасно работает, но есть один фатальный недостаток.Когда сообщение чата удаляется модератором, оно не будет удалено с экрана чата, пока вы не перезагрузите страницу.Как я могу либо изменить свою систему, чтобы разрешить удаление сообщений, либо изменить свой подход, чтобы это работало?

1 Ответ

0 голосов
/ 29 декабря 2010

Вы можете как-то отслеживать удаленные идентификаторы.Либо просто отметьте их как удаленные в базе данных, либо, если вам нужно действительно удалить запись, отслеживайте идентификаторы этих удаленных сообщений.Затем добавьте новый раздел в свой ответ AJAX, в котором перечислены эти удаленные идентификаторы.

После этого клиенты могут просмотреть историю сообщений и удалить соответствующие записи.Предполагая, что вы прикрепляли идентификаторы сообщений к сообщениям в истории чата, это должно быть довольно тривиальной операцией.

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