@vadimstroganov

Как сделать чат на веб сокетах?

Здравствуйте! Пытаюсь сделать чат на RoR с использованием websocket.

Я ни разу не работал с веб сокетами и вошел в ступор.
Установил гем tubesock чтобы открыть соединение по веб сокету. Соединение открывается, и если что-то отправить, то приходит ответ, вот код:
def socket
  hijack do |tubesock|
    tubesock.onopen do
      tubesock.send_data "Hello, friend"
    end

    tubesock.onmessage do |data|
      # как тут определить какой юзер и кому отправляет, чтобы создать запись в БД, и после этого отослать получателю сообщение
      tubesock.send_data "You said: #{data}"
    end
  end
end


Мне нужно сделать чат между разными людьми, я написал методы отправки сообщения от одного пользователя к другому. Но не пойму как все это пустить через веб сокет? Как мне определить что к вебсокету законектился User1, и он хочет отправить сообщение User2 ?

Пожалуйста, помогите разобраться
  • Вопрос задан
  • 259 просмотров
Пригласить эксперта
Ответы на вопрос 1
Почему бы не попробовать рельсовый ActionCable? Он должен работать не только под Rails 5, но и под Rails 4 и по нему довольно много примеров — https://github.com/rails/rails/tree/master/actioncable
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы