Checking out your code it looks like you're just polling (not longpolling)? Instead of just holding the connection open and waiting for a new message you pass the latest message and let the client reconnect.
I use node like this (really simplified but still): http://blog.dispostable.com/instant-mail-notifications-using...