This document introduces WebSocket and how it can be used for real-time communication between a client and server. It discusses: 1. The basics of WebSocket including how the handshake process works and how events and messages are exchanged. 2. Two approaches for integrating WebSocket into a Ruby/Rails application - as a standalone service or within the application stack. Using it standalone allows the service to run independently while integrating it brings challenges in handling long-running connections. 3. Key considerations for WebSocket including authentication, concurrency models, and whether the server process needs to run permanently to maintain open connections.