Я бы рекомендовал использовать nodejs вместе с socket.io , который является кросс-браузерной библиотекой стилей для веб-сокетов. Это действительно упрощает написание кода, который взаимодействует с сервером (== nodejs) в режиме реального времени. Он использует веб-сокеты в браузерах, которые их поддерживают, или другие технологии в браузерах, которые этого не делают.
Просто примечание, касающееся PHP, поскольку вы упомянули об этом ... На мой взгляд, оно не очень подходит для этого, поскольку, как вы, возможно, знаете, PHP-сценарий живет только во время запроса. Такое поведение затрудняет реализацию связи в режиме реального времени, если вы не используете собственный сервер с PHP, не пропуская Apache или что-то подобное.
Другой альтернативой может быть использование Python, и, возможно, что-то вроде Twisted , хотя вам может потребоваться реализовать веб-сокеты или подобное самостоятельно.