websocket.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. self.importScripts("helper.js");
  2. var parameters = GetRequest();
  3. var ip = parameters["ip"];
  4. var socketURL = "ws://192.168.199.243/card?cardIp=" + ip;
  5. doConnect();
  6. function doConnect() {
  7. var ws = new WebSocket(socketURL);
  8. ws.binaryType = 'arraybuffer';
  9. ws.onclose = function () {
  10. self.postMessage('close');
  11. }
  12. ws.onerror = function () {
  13. self.postMessage('close');
  14. }
  15. ws.addEventListener('open', function (event) {
  16. ws.send(ConfigChannel("RK3923C1201900139"));
  17. var buffer = RequestIFrame("RK3923C1201900139");
  18. ws.send(buffer);
  19. });
  20. ws.addEventListener('message', function (event) {
  21. var input = new Uint8Array(event.data);
  22. if (input[0] == 0xff) {
  23. self.postMessage(input);
  24. } else {
  25. self.postMessage(input);
  26. }
  27. });
  28. self.addEventListener('message', function (e) {
  29. if (e.data === 'restart') {
  30. doConnect();
  31. return
  32. }
  33. ws.send(e.data);
  34. }, false);
  35. }
  36. function GetRequest() {
  37. var url = location.search; // 获取url中"?"符后的字串
  38. var obj = new Object();
  39. if (url.indexOf("?") != -1) {
  40. var str = url.substr(1);
  41. strs = str.split("&");
  42. for (var i = 0; i < strs.length; i++) {
  43. obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
  44. }
  45. }
  46. return obj;
  47. }