WebSockets are an advanced technology that makes it possible to open an interactive communication session between the user's browser and a server. With this API, you can send messages to a server and receive event-driven responses without have to poll the server for a reply.
Polling is an alternative to web sockets where you query the server on an interval to continuously update the DOM.
Socket.io
Socket.IO is a Javascript library for realtime web applications. It enables realtime, event-driven, bi-directional communication between web clients and servers.
It has two parts: a client-side library and a server-side library for node.js.