Skip to content

Домашнее задание № 13 - WebSocket #26

Description

@redexp

Видео: https://youtu.be/jn5p-WAmtpk

Основное задание:

Теперь к нашему todo-list + ajax добавляем WebSocket.

  1. Я открываю две вкладки, вижу один и тотже todo-list. В первой начинаю набирать текст - во второй тут же появляется новое туду в которой синхронно меняется текст с тем что я ввожу на первой вкладке.
  2. Если я удалю текст в первой вкладке - то во второй пропадает полностью туду
  3. Если я напишу текст и нажму enter - то и у меня и во второй вкладке добавляется тудушка, удалить которую теперь можно только по кнопке "destroy" с крестиком.
  4. Соответственно, удаление любой туду синхронизируется во всех вкладках
  5. Изменение статуса complete так же синхронизируется

По поводу сравнения faye и socket.io. Я вам показывал, что фае работает с каналами, типа урлы на которые вы можете подписаться и можете посылать сообщения. Сокет.ио, больше работает с парадигмой - событий, типо сервер посылает событие, а вы на него подписывваетесь. Плюс у них есть парадигма "комнат", что клиент может подписаться на комнату и только члены комнаты будут принимать события внутри этой комнаты.

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions