websocket.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. self.postMessage('start');
  25. } else {
  26. self.postMessage(input);
  27. self.postMessage('start');
  28. }
  29. });
  30. self.addEventListener('message', function (e) {
  31. if (e.data === 'restart') {
  32. doConnect();
  33. return
  34. }
  35. ws.send(e.data);
  36. }, false);
  37. }
  38. function GetRequest() {
  39. var url = location.search; // 获取url中"?"符后的字串
  40. var obj = new Object();
  41. if (url.indexOf("?") != -1) {
  42. var str = url.substr(1);
  43. strs = str.split("&");
  44. for (var i = 0; i < strs.length; i++) {
  45. obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
  46. }
  47. }
  48. return obj;
  49. }