Pergunta

Eu sempre quis uma maneira de fazer um soquete de conexão para um servidor e permitir que o servidor para manipular a página do DOM.Por exemplo, isso pode ser usado em um cotações da bolsa de página, de modo que o servidor possa enviar novas propostas como eles se tornam disponíveis.

Eu sei que este é um clássico limitação (recurso?) de HTTP do pedido/resposta do protocolo, mas eu acho que isso poderia ser implementado como um plugin do Firefox (compatibilidade cross-browser não é importante para minha aplicação).Java/Flash soluções não são aceitáveis, porque (até onde eu sei), eles vivem em uma caixa e não pode interagir com o DOM.

Alguém pode confirmar se este está dentro da capacidade de um plugin do Firefox?Tem alguém já criou isso ou algo semelhante?

Foi útil?

Solução

Você pode querer olhar para Cometa o que é um nome fantasia para uma longa conexão HTTP, onde o servidor possa enviar atualizações para a página.

Outras dicas

Deve ser possível.Tenho desenvolvido uma xulrunner aplicativo que se conecta a um servidor TCP usando sockets.Desenvolvimento de extensão provavelmente teria as mesmas capacidades.Eu usei uma biblioteca a partir de mozdev - JSLib.Especificamente confira o código de rede.O fato de que há um Firefox add-on para JSlib add-on para o Firefox faz mais confiantes.

Essencialmente, tal como eu o entendo, sockets não são parte do JavaScript, mas através de XPCOM, você pode obter raw socket de acesso, como você faria em qualquer aplicativo c/c++.

Aviso: JSLib não parece muito a atenção e a lista de discussão é muito escassa.

Java/Flash soluções não são aceitáveis, porque (até onde eu sei) eles vivem em uma caixa e não pode interagir com o DOM.

Não é bem verdade do Java.Você pode interagir com Java via JavaScript e fazer alterações DOM.

http://stephengware.com/proj/javasocketbridge/

Neste exemplo, há dois métodos JavaScript para interação

Enviar:

socket_send("This was sent via the socket\n\n");

Receber:

on_socket_get(message){ more_code(message); }

Você pode querer olhar Errante

um.k.um. de envio do servidor.Isso não permite que o servidor de "atualizar" a página do cliente diretamente, mas de todos os novos dados são enviados para a página através de uma única conexão.

Claro, um Firefox extensão (bem como plugins, que são binários bibliotecas que pode fazer tudo o que qualquer outro aplicativo pode fazer) pode trabalhar com sockets também.Ver 1, 2.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top