WebSockets vs Server-Sent Events vs WebRTC: Real-Time Communication