Рекомендую связку Node.js, socket.io и redis.
Node.js выступит в роли веб-сервера и даст асинхронность
Socket.io даст кросс-браузерное общение между клиентом и сервером и плюс ко всему он умеет адресовать сообщения конкретным пользователям.
Redis в вашем случае будет неплох в виде базы чата (я, так понимаю, что долговременного хранения не предвидится)
Если нужна помощь, пишите на почту (xl1034@gmail.com), обменяемся контактными данными