Вопрос

Я создал чат, к которому я могу подключиться через Telnet.Мой чат в настоящее время реализован как Скрученный TCP-сервер.Как мне преобразовать его в чат для браузера?

Я полагаю, мне следует использовать сервер comet (напримерOrbited), чтобы иметь возможность обслуживать статический HTML и динамический контент одновременно.Необходим ли такой сервер comet для быстрого и надежного общения в чате?

Это было полезно?

Решение

Comet - лучший вариант без использования чего-либо специального (например, Flash, см. Ниже).Это проверенная технология, и она используется многими крупными сайтами, такими как чат Gmail и Facebook.

Единственный другой вариант, который у вас есть, - это опрос, но иногда это может быть немного напряженным на сервере.По сути, вам приходится сопоставлять нагрузку на сервер со скоростью - если вы проводите опросы часто, вы получаете очень отзывчивый клиент, но вы перегружаете свой сервер.Опрос слишком маленький, и вы сохраняете незначительную нагрузку, но клиенты могут получать сообщения только каждый n секунд, так что это может показаться медленным.

Если вы решите провести опрос, вы всегда можете создать систему "отбой".Например, страница проверяет каждые 2 секунды, были ли отправлены какие-либо сообщения чата.Он делает это 5 раз, и если ничего не происходит, он увеличивает задержку до 3 секунд.Он делает это 5 раз, и после ничего это продолжается 4 секунды .. и т.д.Когда сообщение чата отправляется, оно возвращается с наименьшей задержкой.

Другой вариант, который стоит рассмотреть и который еще лучше, - это использование гибкого или флэш-клиента.Таким образом, вы можете просто использовать TCP-сокеты, которые отправляют данные только в том случае, если таковые имеются.Но это только в том случае, если вам действительно нужно флэш-приложение на вашем сайте.

Другие советы

Да, это так!Проверить www.meebo.com !Они используют comet в качестве своей базовой платформы!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top