WebSocket JS / HTML5: Conectar sem chamada HTTP

11

Tudo bem, então eu experimentei a nova classe WebSocket no HTML 5 e fiquei muito animada com a existência deles; no entanto, não consigo ver como eles são muito mais recompensadores do que o AJAX, já que eles ainda iniciam uma chamada HTTP e não são como soquetes convencionais. É por isso que estou perguntando aqui.

Existe alguma maneira de a classe WebSocket do HTML 5 se conectar a um soquete de escuta sem enviar dados HTTP? Atualmente com o construtor TCP / IP ele está mostrando toda essa porcaria de cabeçalhos que eu não quero (já que eu quero conectar a servidores POP3 / IMAP sem coisas como Flash bridges ou Comet).

Possível?

Saída da conexão:

Listening for connections...Connected
GET / HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:666
Origin: null
Sec-WebSocket-Key1: 2 987_390VNw60yi9
Sec-WebSocket-Key2: ~196  Y p  5    P67 428  ?
    
por Qix 04.01.2011 в 04:43
fonte

1 resposta

5

Não. Uma vez estabelecida a conexão, você tem um socket verdadeiro. Mas você está certo de que isso requer suporte especial ao servidor. Por isso, não permitirá a conexão a um servidor POP ou IMAP não modificado.

Eles escolheram esse design (o mecanismo de atualização) para que você pudesse ter facilmente um servidor que atendesse às conexões do WebSocket, além de solicitações HTTP verdadeiras.

ainda uma grande distinção entre o AJAX e o COMET. Você pode usar WebSockets para ter uma verdadeira comunicação full-duplex entre o servidor e o cliente. As APIs anteriores do navegador não forneceram isso, forçando as pessoas a usar várias soluções (como solicitações repetidas de AJAX, quadro de sempre do COMET e outras).

    
por Matthew Flaschen 04.01.2011 / 05:00
fonte