Os Websockets são uma tecnologia moderna e de ponta, inserida no HTML5. Basicamente, você pode abrir um soquete da web para ativar a comunicação bidirecional persistente com um servidor da web. O cliente (interface do usuário) pode enviar mensagens espontaneamente e o servidor também.
A tecnologia existente (JavaScript) exige que tudo seja iniciado pelo cliente - o servidor não pode enviar nada ao cliente que o cliente não solicitou. Portanto, os scripts precisam estar constantemente atualizando e solicitando dados que podem não ter sido alterados. Os Websockets funcionam mais com base em " push " e permitem que novos dados sejam publicados sempre que possível.
Infelizmente, a maioria das implementações de websocket (tudo o que posso encontrar) exige um aplicativo de servidor específico para funcionar. As pessoas executam o Apache nas portas 80 e 443 (http e https) e executam outro sistema (normalmente Node.js) em outra porta (por exemplo, 8000 ou 8080) para lidar com solicitações de websocket.
Isso funciona, obviamente, mas tem algumas desvantagens.
Eu tenho um plug-in que quero criar que se beneficiaria muito 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 com experiência, como você tornaria o WordPress compatível com os websockets? Você faria o WordPress manipular a comunicação em si ou agrupar outro script de mini-servidor no plug-in? Se você já fez isso, como conseguiu isso sem quebrar o próprio WordPress?
Recursos possíveis?
21/09/11 Atualização
Com toda a conversa sobre como o Apache (o servidor mais comumente instalado para executar o WP em um host compartilhado) não consegue lidar com os websockets nativamente, estou pensando em uma alternativa. Vários plug-ins (JetPack, por exemplo) conversam com um serviço externo ou API para gerar conteúdo.
Estatísticas solicita conteúdo da Automattic. O Akismet envia e volta dados de um servidor externo. Após o prazo final, o conteúdo é enviado no momento da publicação. Algumas ferramentas de SEO repassam as coisas através de sistemas externos.
Então, como uma alternativa para alojar o código do websocket em um plug-in do WordPress, seria possível hospedar um serviço do websocket em um local central e, em vez disso, ter um front-end do WordPress interagindo com ele?