websocket.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. self.importScripts("helper.js");
  2. // self.importScripts("pcm-player.js");
  3. // self.importScripts("pcm-player.min.js");
  4. var parameters = GetRequest();
  5. var ip = parameters["ip"];
  6. var socketURL = "ws://192.168.198.82:9100/card?cardIp=" + ip;
  7. // var socketURL = "14.215.128.98:14102";
  8. // var socketURL = "ws://14.215.128.98:14102"
  9. // socketURL = "ws://127.0.0.1:8081"
  10. doConnect();
  11. function doConnect() {
  12. var ws = new WebSocket(socketURL);
  13. ws.binaryType = 'arraybuffer';
  14. ws.onclose = function (e) {
  15. console.log('websocket 断开: ' + e.code + ' ' + e.reason + ' ' + e.wasClean);
  16. console.log("时间: " + new Date() + e);
  17. alert("websocket连接断开,准备重连");
  18. doConnect();
  19. }
  20. ws.addEventListener('open', function(event) {
  21. console.log("发送配置帧");
  22. // ws.send(ConfigChannel("RK3923C1201900139"));
  23. ws.send(ConfigChannel("RK3923C1201900139"));
  24. var buffer = RequestIFrame();
  25. ws.send(buffer);
  26. });
  27. self.addEventListener('message', function(e) {
  28. // console.log("收到数据", e.data);
  29. ws.send(e.data);
  30. console.log('ws', ws)
  31. }, false);
  32. ws.addEventListener('message', function(event) {
  33. //var objData = {type:0, data:input};
  34. var input = new Uint8Array(event.data);
  35. if (input[0] == 0xff) {
  36. // console.log("1111111")
  37. // decodeAAC(input);
  38. self.postMessage(input);
  39. } else {
  40. self.postMessage(input);
  41. }
  42. });
  43. }
  44. function GetRequest() {
  45. var url = location.search; // 获取url中"?"符后的字串
  46. var obj= new Object();
  47. if (url.indexOf("?") != -1) {
  48. var str = url.substr(1);
  49. strs = str.split("&");
  50. for(var i = 0; i < strs.length; i ++) {
  51. obj[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
  52. }
  53. }
  54. return obj;
  55. }