Paste #29
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | function UpdateCheckSocket(host, port, resource, statusElement, callback) { this.host = host; this.port = port; this.resource = resource; this.statusElement = statusElement; this.callback = callback; this.ws = new WebSocket("ws://"+this.host+":"+this.port+this.resource); this.ws.onopen = function(e) { statusElement.innerHTML='Web sockets connected'; }; this.ws.onmessage = function(e) { var newDiv = document.createElement('div'); newDiv.innerHTML = e.origin + decodeURIComponent(e.data); statusElement.insertBefore(newDiv, statusElement.firstChild); if (decodeURIComponent(e.data) == 'UPDATED') { callback(); } }; this.ws.onclose = function(e) { var newDiv = document.createElement('div'); newDiv.innerHTML = 'Web sockets closed'; statusElement.insertBefore(newDiv, statusElement.firstChild); }; } function UpdateCheckSocket_send(message) { if(typeof(message) == 'undefined' || message =='') { alert('no message...'); return; } this.ws.send(encodeURIComponent(message)); } UpdateCheckSocket.prototype.send = UpdateCheckSocket_send; function UpdateCheckSocket_sendNOOP(message) { this.send('NOOP'); } UpdateCheckSocket.prototype.sendNOOP = UpdateCheckSocket_sendNOOP; |