Я разработал яваскрипт чат (PHP на внутреннем интерфейсе) с помощью:Ajax опрос чат получает дубликаты на приемнике сообщения переднего конце на скором общении
1) long-polling to get new messages for the receiver
2) sessionStorage to store the counter of messages
3) setInterval to read new messages and if sessionStorageCounter < setIntervalCounter then the last message is shown to receiver.
4) javascript to create,update and write the chat dialogues
Модуля работает нормально, но когда пользователи имеют speedy чат переднего конца приемника получает два или три одинаковых сообщения (ни счетчик не работает, ни запрос не предоставляет двойные вставки).
Код кажется правильным (вот почему я не предоставляю код), поэтому причиной задержки может быть временная задержка (при уменьшении временной задержки ничего не меняется).
Считаете ли вы, что приведенная выше схема является плохой практикой и какая схема, по вашему мнению, устранит ошибки?
Вы всегда можете проверить DOM перед добавлением нового сообщения чата, чтобы узнать, есть ли там одно и то же сообщение. таким образом у вас не будет такого же сообщения дважды, – Robin
еще одно предложение, которое у меня для вас есть, что если вы собираетесь общаться в реальном времени в своем приложении, почему бы вам не подумать о том, чтобы идти с сокеткой на стороне сервера и с клиентом с узлом сервер, работающий на задней стороне, чтобы удовлетворить потребности приложения чата – Robin
Вы полагаетесь на любую сторону сервера timestamps? – Muggles