Я бы рекомендовал использовать XMPP и использовать ejabberd в качестве сервера. На стороне клиента (веб-страницы) вы можете использовать библиотеку Strophe.js , чтобы «общаться» с вашим сервером ejabberd. Возможно, это самая активная и современная библиотека JavaScript, и разработчики обычно готовы помочь ответить на вопросы в их чате (Jabber: sleek@conference.jabber.org).
XMPP - это тот же протокол, который используется в чате Google, чате Facebook и т. Д. При желании возможна интеграция с ними. Я не могу рекомендовать достаточно прочитать XMPP: полное руководство в качестве отправной точки для вашего проекта, чтобы полностью понять протокол.
Другая книга, которую я рекомендую для клиентской (веб) стороны, - Профессиональное программирование XMPP с использованием JavaScript и jQuery , хотя некоторые примеры кода имеют незначительные опечатки.
Удачи!
Редактировать: Кроме того, я должен упомянуть, что "Jabber" и "XMPP" очень часто используются взаимозаменяемо в мире чата - так что вы не запутаетесь, когда начинаете читать.