Pusher is free up to a certain point:
- 100 Max Connections
- Unlimited Channels
- 200k Messages / Day
- Limited Support
- SSL Protection
So with max 100 users at the same time, and 200.000 messages / day, it's still free.
Socket.IO is not a service, it's a script (which is free)
If you really want to have it for free, up to unlimited users etc., you'll have to install nodeJS or reactphp for your sockets backend and use socket.io for the client side:
They have documentation about setting up a nodeJS backend: https://socket.io/docs/#