Socky Альтернатива - PullRequest
       8

Socky Альтернатива

0 голосов
/ 09 ноября 2011

Я ищу НАДЕЖНЫЙ сервер веб-сокетов для ROR 3. Теперь мы используем socky . Это ненадежно. Нам это нравится, потому что у него есть запасной вариант флэш-памяти, поэтому предполагается, что он работает в старых браузерах ... но опять же - он ненадежен. Знаете ли вы какой-нибудь хороший сервер веб-сокетов для ROR с резервным вариантом (т. Е. Поддерживающий все браузеры)

1 Ответ

8 голосов
/ 09 ноября 2011

альтернативы:

  • socket.io (необработанный веб-сокет для NodeJS)
  • juggernaut (полный протокол Байе для NodeJS /Rails)
  • faye (полный протокол Bayeux для NodeJS / Rails) с Ruby-сервером

Совет: не используйте ruby ​​в качестве сервера веб-сокетов,перейдите на NodeJS - мы обрабатываем тысячи сообщений каждый час без каких-либо проблем.

Мы использовали самую простую настройку из всех возможных, чтобы она работала - и она работает;)

Наша установка:

  • Rails 3.0.9
  • Redis
  • NodeJS
  • Socket.IO

Как мы его настроили:

Rails --PUB--> REDIS --SUB--> NodeJS --WEBSOCKET (SOCKET.IO)--> Client

Статья Redis PubSub - Как это работает?

Другой совет: по возможности избегайте аутентификации

Вот наш случай:

У нас есть что-то вроде инструмента управления проектами с виртуальной файловой системой.Допустим, вы просматриваете папку, а кто-то из вашей команды загружает новый файл.Теперь мы должны сообщить вам, что ваше мнение устарело - мы отправляем сообщение типа:

folder_id | last_change_timestamp

на канал folders:#{folder_id}

теперьклиент (который прослушивает folders:#{folder_id} получает эти сообщения и видит: «К сожалению, мое мнение устарело» и показывает сообщение «Ваше мнение устарело, нажмите> здесь <, чтобы обновить». </p>

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

  1. если у вас нет доступа к проекту, вам нужно угадать folder_id для подписки на канал
  2. , даже если вам удастсячтобы подписаться на канал, единственная информация, которую вы получаете, это то, что что-то изменилось - не более, не менее;)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...