Веб-сокеты используют много ресурсов, таких как длинный кометный опрос? - PullRequest
3 голосов
/ 09 августа 2010

Я знаю, что длинный опрос Comet плохо подходит для веб-серверов, поскольку они занимают один поток на соединение. Таким образом, у вас не может быть много пользователей с постоянными подключениями, иначе ваш веб-сервер аварийно завершится.

То же самое с веб-сокетами в HTML 5?

Как это может решить проблему с ресурсами, если она занимает один поток на одно постоянное соединение?

Ответы [ 2 ]

3 голосов
/ 09 августа 2010

... потому что они занимают один поток на соединение

Это предположение полностью не соответствует действительности. Смотрите ответ, который я дал здесь для получения дополнительной информации. (Например) вполне возможно использовать IAsyncHttpHandler в IIS для выполнения длинного опроса, без использования потока на клиента.

2 голосов
/ 09 августа 2010

Спендер верен, только дерьмовые веб-серверы (например, Apache с mpm_worker или mpm_prefork) используют поток / процесс для каждого подключения.

Шлюз Smart Comet или Websockets (я писал такой не так давно) будет иметьуправляемая событиями архитектура - основанная на шаблонах Proactor (с фиксированным пулом потоков) или шаблонах Reactor (однопотоковых).Длинный опрос должен выполняться через HTTP-соединения keep-alive (для браузеров, которые его поддерживают - около 99% из них), и в этом случае он будет иметь такие же характеристики производительности / масштабируемости, что и Websockets.

...