2014-12-24 1 views
-2

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

Например, Facebook, MSN и Skype используют первый подход, но чат, который я создаю, будет действительно «uber-nerd-only», поэтому я не знаю, какой шаблон мне следует использовать ,

Важно отметить, что сообщения могут занять некоторое время для отправки и приема обеими сторонами. Например, простой «Hello», вероятно, превратится в массив длиной 100 длины (не спрашивайте меня почему).

В соответствии с этой ситуацией, какой образец будет лучше, и почему?

ответ

3

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

Делая таким образом, вы удовлетворяете оба требований:

  1. Интерфейс отзывчивости (вы видите результат сразу)
  2. Интерфейс информативности (вы знаете, фактическое состояние и то, что является продолжение)
+0

, и для этого потребуется постоянное хранилище, где хранятся неотправленные сообщения (и отправленные/полученные), чтобы они могли быть повторно отправлены :) –

1

Определите «лучше»! В большинстве определений better, как воспринимаемая отзывчивость, способность исправлять как один тип и т. Д., Первое лучше. Под определением лучше, как «вы всегда видите то, что видит ваш коллега», последнее лучше. Есть причина, по которой большинство текста эха локально не дожидаются (переменная, непредсказуемая) задержка сети, чтобы показать пользователю некоторую обратную связь.

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

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