Посмотрите на обратный Ajax с техникой COMET, это идеальное применение для него.
Идея, стоящая за ним, состоит в том, чтобы запустить запрос ajax и дать ему время ожидания, которое может составлять 60 секунд, а когда оно истечет, запустите его снова, здесь браузер имеет (почти) постоянное соединение с сервером, если (для простой пример) сообщение создается для пользователя. сервер может ответить на один из поданных запросов ajax (в данном случае получателем сообщения).
Никакие данные не передаются, пока xmlhttprequest и сервер ожидают, но закрытие и повторное открытие соединений может быть бременем для вашего сервера.