stream), a collection of techniques prior to HTML5 which use streaming and long-polling to achieve real time applications • WebSocket (2008) • SSE(Server-sent Events) • WebRTC(2010, Google) 16年10⽉月14⽇日 星期五
publish- subscribe messaging between web clients. It ships with easy-to-use message routing servers for Node.js and Rack applications, and clients that can be used on the server and in the browser. 16年10⽉月14⽇日 星期五
by the NodeAdapter and RackAdapter classes, exposes the Server’s interface over HTTP. It is responsible for serializing and deserialzing messages as JSON and accepting connections over various flavours of HTTP transport: Persistent connections using WebSocket Long-polling via HTTP POST Cross Origin Resource Sharing Callback-polling via JSON-P 16年10⽉月14⽇日 星期五
web clients. MessageBus implements a Server to Server channel based protocol and Server to Web Client protocol (using polling, long-polling or long-polling + streaming) Long-polling is implemented using Rack Hijack and Thin::Async, all common Ruby web server can run MessageBus (Thin, Puma, Unicorn) and handle a large amount of concurrent connections that wait on messages. MessageBus is implemented as Rack middleware and can be used by and Rails / Sinatra or pure Rack application. 16年10⽉月14⽇日 星期五
of your Rails application. It allows for real-time features to be written in Ruby in the same style and form as the rest of your Rails application, while still being performant and scalable. 16年10⽉月14⽇日 星期五
for HTTP, long- polling, Websocket and EventSource (SSE), powered by Nginx. pure stream http push technology for your Nginx setup. Comet made easy and really scalable. Supports EventSource, WebSocket, Long Polling, and Forever Iframe. 16年10⽉月14⽇日 星期五