The question here is what are you trying to do? If the server is sending a message to the client for every frame, what you are talking about it basically impossible -- network latencies below 16 ms (60 fps) or 33 ms (30 fps) over the internet are impossible to reliably guarantee. It might work over a local network, and almost certainly can work on a local machine, but not over the internet. If you need to get information from the client to the server and back in the next frame, your round-trip latency needs to be that low, including the processing on both sides. Since both xhr-polling and websockets use TCP, it gets worse because one slow/lost packet will pause everything after it until it finally shows up.
You really need to decouple the rendering from the server as much as possible to make a viable game in a browser. The network just isn't fast enough.