Today WebSockets can be used where we are using AJAX, however objectives of both were different
AJAX/XHR was for a web page to asynchronously fetch/send the resource/data.
WebSockets were for other purpose, the objective here was to open a continuous and duplex communication between two entities, for exchanging messages.
WebSockets Tools
µWebSockets: Highly scalable WebSocket server and client implementation for C++11 and Node.js.
Socket.IO: A long polling/WebSocket based third party transfer protocol for Node.js.
WebSocket-Node: A WebSocket server API implementation for Node.js.
Total.js: Web application framework for Node.js (Example: WebSocket chat)
Faye: A WebSocket (two-ways connections) and EventSource (one-way connections) for Node.js Server and Client.
SignalR: SignalR will use WebSockets under the covers when it's available, and gracefully fallback to other techniques and technologies when it isn't, while your application code stays the same.
Caddy: A web server capable of proxying arbitrary commands (stdin/stdout) as a websocket.