Socket.io setInterval inaccurate

I'm using Socket.io with Node.js and have a process that emits messages every second. Basically, I have an interval that looks like this:

setInterval(function(){
 socket.emit('message', msg);
}, 1000);

When I use only xhr-polling, the polling is pretty sporadic. Sometimes it polls fairly accurately, around 1.0s or 1.01s or 999ms. Then other times, it will be like 200ms or 1.5ms, etc.

I've removed all logic that could be causing delays on the server, and simply emitting static data and it still is very sporadic.

Any ideas on a better way to handle this that would be more accurate?

Thanks!

I have built several games using Socket.io, and have gotten great results running at 30 frames-per-second on the server, and pushing information updates to all the clients. I remember having issues when a client didn't support sockets (fall-back to flash) -- It seems like data sent from the clients came almost instantly, but data being sent from the server would be as you describe (sporadic).