I am considering few options for pushing data from server to the client for my web application in real time.
I have implemented a polling based (each client sends http
Even though everybody is running towards node.js right now, we did a chat application based on APE and we are very happy with it.
APE provides what you are looking for quite "out of the box" since it is a combination of server side JS and a client framework APE_JSF that provides the functionality (and more) that you get from socket.io.
In this project we handle ~9000 concurrent users with real time messages. An nginx server is put in front of APE to provide deflate/gzip support
This configuration (without nginx as well) will have no problem dealing with your requirements, even on a "not so high end" machine.
Since you can push data to "a channel" or a single user, you should be able to achieve exactly what you are looking for with APE, from broadcasts to direct messages.