HTML5 Websocket в Webworker
мне удалось заставить websockets работать внутри webworker с помощью Chrome, но только для получения данных. Когда я пытаюсь отправить данные, я получаю исключение DOM, кому-нибудь удалось отправить данные?
Это то, что у меня есть для моего веб-работника.
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
}
1 ответов
перед отправкой первого сообщения необходимо прослушать событие onopen websocket.
socket.onopen = function(){
// send some message
};