You can use signalr for chat. Its been actively developed by Microsoft and is light weight. It is equivalent to NodeJS in linux.
SignalR uses websockets to keep connection open. This is much better than using ajax to query the server every few seconds for new data. If browser does not support web sockets (IE 6, etc), it would fall back to older protocol such as server sent events, forever frame, long polling, etc.
Tip: Facebook uses combination os server sent event, forever frame, etc. They do not use NodeJS though (as far as I know).