2013-08-01 10 views
9

Websockets'ı bir web işleyicisinde Chrome kullanarak, ancak yalnızca veri almak için çalışmayı başarabildim. Veri göndermeye çalıştığımda DOM İstisnası alıyorum, veri göndermeyi başaran oldu mu?HTML5 Web Araştırıcısı İçinde Websocket

Web çalışanım için sahip olduğum şey budur.

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 
} 

cevap

17

İlk mesajınızı göndermeden önce onopen websocket olayını dinlemelisiniz.

socket.onopen = function(){ 
    // send some message 
}; 
+0

Evet, buraya bakmadan önce, bağlantının açık olmadığından ve sorunun nedeninin doğru olduğunu düşündünüz. Şerefe – Jack