Вопрос
Я создал чат, к которому я могу подключиться через Telnet.Мой чат в настоящее время реализован как Скрученный TCP-сервер.Как мне преобразовать его в чат для браузера?
Я полагаю, мне следует использовать сервер comet (напримерOrbited), чтобы иметь возможность обслуживать статический HTML и динамический контент одновременно.Необходим ли такой сервер comet для быстрого и надежного общения в чате?
Решение
Comet - лучший вариант без использования чего-либо специального (например, Flash, см. Ниже).Это проверенная технология, и она используется многими крупными сайтами, такими как чат Gmail и Facebook.
Единственный другой вариант, который у вас есть, - это опрос, но иногда это может быть немного напряженным на сервере.По сути, вам приходится сопоставлять нагрузку на сервер со скоростью - если вы проводите опросы часто, вы получаете очень отзывчивый клиент, но вы перегружаете свой сервер.Опрос слишком маленький, и вы сохраняете незначительную нагрузку, но клиенты могут получать сообщения только каждый n секунд, так что это может показаться медленным.
Если вы решите провести опрос, вы всегда можете создать систему "отбой".Например, страница проверяет каждые 2 секунды, были ли отправлены какие-либо сообщения чата.Он делает это 5 раз, и если ничего не происходит, он увеличивает задержку до 3 секунд.Он делает это 5 раз, и после ничего это продолжается 4 секунды .. и т.д.Когда сообщение чата отправляется, оно возвращается с наименьшей задержкой.
Другой вариант, который стоит рассмотреть и который еще лучше, - это использование гибкого или флэш-клиента.Таким образом, вы можете просто использовать TCP-сокеты, которые отправляют данные только в том случае, если таковые имеются.Но это только в том случае, если вам действительно нужно флэш-приложение на вашем сайте.
Другие советы
Да, это так!Проверить www.meebo.com !Они используют comet в качестве своей базовой платформы!