Для интерактивных веб-приложений такие вещи, как Websockets, становятся все более популярными. Однако, поскольку клиент и мир прокси не всегда полностью совместимы, обычно используют сложную структуру, такую как "Socket.IO", скрывая несколько разных механизмов для любого случая, который может отключить другие.
Мне просто интересно, каковы недостатки правильно выполненного длительного опроса, потому что с сегодняшними серверами, такими как node.js, его довольно просто реализовать и полагается на старую технологию http, которая хорошо поддерживается (несмотря на то, что поведение самого длинного опроса может сломать его).
С точки зрения высокого уровня длительный опрос (несмотря на то, что некоторые дополнительные накладные расходы, доступные для приложений среднего трафика), похоже на истинное поведение push, как это делают WebSockets, поскольку сервер действительно посылает ему ответ, когда ему нравится (несмотря на некоторый механизм таймаута/сердцебиения).
Таким образом, у нас есть еще несколько накладных расходов из-за большего количества подтверждений TCP/IP, которые я предполагаю, но никакой постоянный трафик, такой как частый опрос, не будет.
И используя сервер, управляемый событиями, у нас не будет затрат на потоки, чтобы блокировать соединения.
Итак, есть ли еще какой-то трудный недостаток, который заставляет приложения среднего трафика, такие как чаты, использовать WebSockets, а не длительный опрос?