2012-01-12 15 views
5

Estoy tratando de implementar una conexión WebSocket en funcionamiento dentro de un WebWorker. Eso debería ser simple y lo es si uso Chrome como b rowser. Sin embargo, dado que este experimento debería convertirse en parte de una producción, necesito que funcione en todos los grandes navegadores, es decir, también en Firefox.WebWorkers y WebSockets with Firefox

Mi problema es que no puedo hacer que funcione con Firefox. Al principio, Firefox no pudo crear un WebWorker. Eso fue un Bug y se corrigió con la versión 9. Pero ahora parece que no sería capaz de crear un WebSocket dentro del Worker.

He intentado lo siguiente línea de código:

var ws = new WebSocket(url); 

el que falla con:

WebSocket is not defined 

Bueno, según this que debería funcionar. Pero no lo hace, ni dentro del WebWorker ni fuera de este contexto. Probé la mayor

var ws = new MozWebSocket(url); 

que parece funcionar fuera de la WebWorker pero me da el mismo error que el anterior dentro de ella.

Ahora, ¿cuál es el problema? Sé que WebSockets está deshabilitado por defecto en algunas versiones anteriores, pero la versión 9 debería admitir una funcionalidad similar a la de Chrome (al menos eso es lo que dicen de su parte). Entonces, ¿estoy haciendo algo mal?

Estoy usando Ubuntu 11.10 y aún no he probado otros navegadores.

¡Gracias de antemano!

+1

Parece posible que esto sea un error de Firefox (no hace que el objeto WebSocket sea visible en WebWorkers). Me gustaría presentar un error contra mozilla y publicar aquí cuál es la respuesta. – kanaka

+0

Esto finalmente se corrigió en [Firefox 38] (https://bugzilla.mozilla.org/show_bug.cgi?id=504553#c161). –

Respuesta

6

Aún no hay soporte para WebSocket en los trabajadores de Firefox. Ver https://bugzilla.mozilla.org/show_bug.cgi?id=504553

Actualización: Firefox 35 agregó soporte.

+0

Ya veo. No parece que vayan a hacer algo al respecto tampoco. Gracias. – j0ker

+0

'Olli Pettay [: smaug] 2012-10-29 02:00:09 PDT' _¿Qué está pasando con este error? _ ' Andrea Marchesini (: baku) 2012-10-29 04:38:29 PDT' _Tengo que dedicarle tiempo a este error principalmente escribiendo documentación. Creo que el mejor enfoque puede ser revisar este código cara a cara con alguien porque el parche es enorme, cambia demasiado el código, etc._ – knutole

+0

Acabo de hacer un bache en este ticket bugzilla 504553 –