Actualmente estoy trabajando con WebSockets y un servidor PHP: funciona muy bien con Google Chrome y Opera, pero no con Firefox 6.JavaScript y WebSockets: utilizando protocolo específico
Creo que es debido a la versión del protocolo este último usa: veo en algún lugar que usa la séptima versión, mientras que es una versión anterior para Google Chrome y Opera.
Por lo tanto, he modificado mi código de servidor con el fin de gestionar esta nueva versión: numerando la clave segura con 258EAFA5-E914-47DA-95CA-C5AB0DC85B11 y otras materias, Firefox logra conectar. Pero si otro cliente desea conectarse (incluso otro Firefox), el primero con Firefox se desconecta.
he visto que la memoria intermedia recibida por socket_recv() está vacío o hash ...
así que decidí saltar la idea de manejar el protocolo utilizado por Firefox 6 (hay ninguna documentación sobre Internet ... !): Creo que podría ser más fácil especificar el protocolo para usar directamente en JavaScript.
En this page Dicen que podemos escribir esto:
var mySocket = new WebSocket("http://www.example.com/socketserver", "my-custom-protocol");
Pero lo que debemos escribir en lugar de "mi-aduana-protocolo" con el fin de utilizar el protocolo gestionada por Google Chrome y Opera?
¡Gracias de antemano!
Existe la versión 'hybi-00' que también se llama' hixie-76' e incluye las dos claves binarias. También está el nuevo 'hybi-07' que usa esa clave segura que publicaste. Debería generar un apretón de manos correcto según la versión que solicite * la llamada *. Dado que ambas versiones usan diferentes nombres de encabezado para las claves, eso debería ser posible. – pimvdb
¡Gracias por tu respuesta! Así que he probado este: 'var mySocket = new WebSocket (" http://www.example.com/socketserver "," hybi-00 ");' pero el envío del encabezado por Firefox sigue siendo el mismo ... La única diferencia es que ahora hay _Sec-WebSocket-Protocol: hybi-00_ en el encabezado, pero todavía usa la séptima versión. – KorHosik
Creo que no he sido del todo claro. Cada navegador envía una versión y no puedes controlarla. Sin embargo, en el servidor, puede verificar qué versión se ha enviado y responder de forma adecuada (es decir, la respuesta de saludo correcta). – pimvdb