Вариантов пока всего два (четыре):
1) Websockets - для этого нужно на стороне сервера иметь websocket сервис. Реализуется на много чем, начиная от nodejs, и заканчивая С
2) SSE (Server Sent Events) - для этого почти ничего не нужно, но сервер должен это уметь.
3) Long Pooling - вообще ничего не нужно, просто нужно уметь в эту технологию
4) Просто опрос по времени - заводите таймер и по таймеру смотрите приход новых сообщений.
Первые две технологии используются в так называемых push-сервисах.