Me las he arreglado para conseguir websockets trabajar en el interior de un webworker usando Chrome, pero sólo para la recepción de datos. Cuando intento enviar datos puedo obtener un DOM Excepción, alguien ha conseguido enviar los datos?

Esto es lo que tengo para que mi web trabajador.

self.addEventListener('message', function(e) {
var data = e.data;

switch (data.cmd) {
    case 'init':
        self.postMessage("Initialising Web Workers...");
        testWS();
        break;
    default:
        self.postMessage('Unknown command: ' + data.msg);
    };
}, false);

function testWS() {
    var connectionAddr = "ws://localhost:8003";
    var socket = new WebSocket(connectionAddr);
    socket.onmessage = function(event) {
        self.postMessage('Websocket : ' + event.data);
    };

    socket.onclose = function(event) {
    };

    function send(message) {
        socket.send(message);
    }

    send("hello"); //Here is where the exception is thrown
}

OriginalEl autor Jack | 2013-08-01

1 Comentario

  1. 21

    Usted debe escuchar a la onopen websocket evento antes de enviar su primer mensaje.

    socket.onopen = function(){
        //send some message   
    };
    Sí estás en lo correcto sólo imaginé que fuera antes de mirar de nuevo aquí, la conexión no estaba abierta y ese era el problema. Saludos

    OriginalEl autor mguimard

Dejar respuesta

Please enter your comment!
Please enter your name here