Websockets é uma tecnologia moderna e inovadora, envolvida em HTML5. Basicamente, você pode abrir um websocket para permitir a comunicação bidirecional persistente com um servidor web. O cliente (interface do usuário) pode enviar mensagens espontaneamente, e o servidor também pode enviar mensagens.
Tecnologia existente (JavaScript) requer que tudo seja iniciado pelo cliente - o servidor não pode enviar nada para o cliente que o cliente não solicita. Portanto, os scripts precisam estar constantemente atualizando e solicitando novamente dados que podem não ter sido alterados. Os Websockets trabalham mais em uma base " push " e permitem que novos dados caiam no canal sempre que for necessário.
Infelizmente, a maioria (tudo que eu posso encontrar, pelo menos) implementações de websocket requer um aplicativo de servidor específico para funcionar. As pessoas executarão o Apache nas portas 80 e 443 (http e https) e executarão outro sistema (normalmente Node.js) em outra porta (ou seja, 8000 ou 8080) para manipular solicitações de websocket.
Isso funciona, obviamente, mas tem algumas desvantagens.
Eu tenho um plug-in que eu quero construir que seria muito beneficiado com o uso de websockets no WordPress. Mas, se um usuário precisar instalar um segundo servidor da Web (geralmente impossível para pessoas com hospedagem compartilhada), ele não funcionará como um plug-in.
Então, para qualquer um de vocês que tenha experiência, como você tornaria o WordPress compatível com websockets? Você faria o WordPress manipular a comunicação em si ou agrupar outro script de mini-servidor no plugin? Se você já fez isso, como você conseguiu isso sem quebrar o próprio WordPress?
Recursos possíveis?
Atualização 21/9/11
Com toda a conversa sobre como o Apache (o servidor mais comumente instalado para executar o WP em um host compartilhado) realmente não consegue lidar nativamente com websockets, estou pensando em uma alternativa. Vários plugins (JetPack, por exemplo) conversam com um serviço externo ou API para gerar conteúdo.
Stats solicita conteúdo da Automattic. O Akismet envia dados de um servidor externo. Após o prazo, o conteúdo é enviado no momento da publicação. Algumas ferramentas de SEO passam as coisas de um lado para o outro por meio de sistemas externos.
Então, como uma alternativa para hospedar o código do websocket dentro de um plug-in do WordPress, seria possível hospedar um serviço de websocket em um local central e ter um front-end do WordPress interagindo com ele?