2016-11-29 3 views
0

У меня есть простой текстовый редактор и вы хотите реализовать автоматическое сохранение, чтобы при каждом изменении текста текст сразу же отправляется на сервер.Реализация автосохранения в приложении Rails с помощью Websockets

Есть два способа сделать это:

  1. открыть соединение сокета и отправлять изменения через гнездо каждую секунду.
  2. Установите таймер смены клавиатуры на 750 мс, который отправляет изменения в любое время, когда пользователь прекратил печатать на 750 мс.

Я понимаю, что веб-сайты подходят, если вы не хотите опроса, чтобы проверить сервер на наличие новых данных. Но также подходит ли когда вы хотите постоянно отправлять данные на сервер?

Является ли 1 запрос/пользователь/секунда на веб-сокете более результативным вообще, чем 1 запрос/пользователь/секунда на обычном http-соединении?

Update:

Для записи, я посмотрел в Google Docs, и это, кажется, использует почтовые запросы и не WebSockets для автосохранения:

enter image description here

Он выстреливает с около 150мс клавиатуры таймер простоя и только отправляет инкрементные изменения.

ответ

0

WebSocket полностью подходит для постоянной отправки небольших объемов данных на сервер.

Есть два основных преимущества:

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

Вы сохраняете размер сообщения, поскольку заголовки HTTP намного больше, чем заголовки сообщений WebSocket.

(Подробнее об этом см. this thorough StackOverflow answer.

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