Смотря на чем будете реализовывать. В любом случае, если нужно "в реальном времени", то лучше подойдет WebSocket, а в качестве fallback'а — polling, long-polling для старых клиентов. Думаю, для каждого языка есть более или менее внятная реализация. Как указали ранее, socket.io для nodejs умеет сам переключать транспорты по необходимости.