Socket.io with Node.js and socketio client for Reactjs would be perfect for this as Nodejs is very good in two way communication. I would suggest you to deploy the socket backend api on different server so that it does not slow down the I/O operations. In addition to this, you can use Redis if you want to enhance the application performance.