Вы посмотрели на Plezi framework?
Вы можете использовать его либо как отдельный каркас, либо augment Rails/Sinatra by adding websocket functionality.
Он работает с сервером Iodine и поддерживает собственные веб-порты, маршруты RESTful и потоковое HTTP-потоки, поэтому легко найти резервную позицию, такую как длительное вытягивание, очень похоже на socket.io, когда сетевые сокеты не работают.
Это интересно и легко разрабатывать с собственной поддержкой Redis и имеет встроенную поддержку Redis, поэтому она позволяет осуществлять широковещательную рассылку между процессами и машинами ... хотя она все еще находится в разработке, она полон потенциала.
широковещательного/эхо приложение WebSocket может выглядеть следующим образом:
require 'plezi'
class Echo
def index
"this is an echo server - use websockets to connect. test with: https://www.websocket.org/echo.html"
end
def on_message data
_echo data
broadcast :_echo, data
end
def _echo data
response << data
end
end
Plezi.route '/', Echo
Вы действительно можете поместить код в IRB консоли и сервер будет момент, когда вы выйти из IRB, используя команду exit
.
На самом деле вы можете иметь Node.JS на своем сервере Rails и использовать Socket.io (Node.JS отлично подходит для работы с веб-сайтами) – MrYoshiji
@MrYoshiji Я подозревал, что был способ сделать это, не возражаете ли вы разработать? Я предположил, что можно каким-то образом передавать данные между серверами ... XML? JSON? но я не уверен, как – Pinky