Websockets - это крутая, передовая технология, встроенная в HTML5. По сути, вы можете открыть веб-сокет, чтобы обеспечить постоянную двустороннюю связь с веб-сервером. Клиент (пользовательский интерфейс) может самопроизвольно отправлять сообщения, и сервер также может отправлять сообщения.
Существующая технология (JavaScript) требует, чтобы все было запущено клиентом - сервер не может отправить клиенту ничего, что клиент не имеет запросов. Таким образом, скрипты должны постоянно обновлять и повторно запрашивать данные, которые могли не измениться. Веб-сокеты работают больше в режиме « push » и позволяют новым данным поступать по конвейеру в любое время.
К сожалению, большинство (в любом случае, все, что я могу найти) реализаций веб-сокетов требует определенного серверного приложения для работы. Люди будут запускать Apache на портах 80 и 443 (http и https) и запускать другую систему (обычно Node.js) на другом порту (например, 8000 или 8080) для обработки запросов веб-сокетов.
Это работает, очевидно, но у него есть некоторые недостатки.
У меня есть плагин, который я хочу создать, который очень выиграл бы от использования веб-сокетов в WordPress. Но если пользователю необходимо установить второй веб-сервер (обычно это невозможно для людей с общим хостингом), он не будет работать как плагин.
Итак, для любого из вас, у кого есть опыт, как бы вы сделали WordPress совместимым с веб-сокетами? Сделаете ли вы, чтобы WordPress обрабатывал сам обмен сообщениями, или включил в плагин другой скрипт мини-сервера? Если вы уже сделали это, как вы сделали это, не сломав сам WordPress?
Возможные ресурсы?
21.09.11 Обновление
Несмотря на все разговоры о том, что Apache (наиболее часто устанавливаемый сервер для запуска WP на общем хосте) не может действительно обрабатывать веб-сокеты изначально, я задаюсь вопросом об альтернативе. Несколько плагинов (например, JetPack) общаются с внешним сервисом или API для генерации контента.
Статистика запрашивает контент у Automattic. Akismet отправляет данные туда и обратно с внешнего сервера. После окончания срока подачи контента на момент публикации. Несколько инструментов SEO передают информацию через внешние системы.
Таким образом, в качестве альтернативы размещению кода веб-сокета в плагине WordPress, было бы целесообразно разместить службу веб-сокетов в центральном месте и вместо этого взаимодействовать с ней веб-интерфейсу WordPress?