Socket.io uses the WebSocket protocol. It provides many more features which include broadcasting to multiple sockets whereby storing data associated with each client, and asynchronous I/O.
There are many advantages of Socket.io which includes that it handles the connection transparently. It may upgrade to websocket if possible. The should have a knowledge of Socket.io for its functionality.
Also there are many disadvantages concerned with the Socket.io. One is that it is not solely a websocket library. We can say that it is a realtime transport protocol implementation on top of other realtime protocols. Some of its protocol negotiation parts cause a client supporting standard to not being able to contact a socket.io server.
So we can say that through socket.io method we can push messages from the client side to server and from server to client side. Also with many of its definitions we can say that Socket.io is a sort of plugin that makes websockets easier to work with, and polyfills non-supporting browsers with ajax etc. One thing to note is that it is for node.js but not for php.
So in the end we can say that we can develop a bi-directional support through the Sockrt.io whereby generating a connection between both client and server. This phenomenon helps to develop a real time applications and it may find a great use in our day to day transactions.