Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以通过带有SSL的Websocket与爱奥尼亚安卓应用程序和esp32通信?如果是的话,怎么办?_Javascript_Ionic Framework_Websocket_Esp32_Ionic Native - Fatal编程技术网

Javascript 是否可以通过带有SSL的Websocket与爱奥尼亚安卓应用程序和esp32通信?如果是的话,怎么办?

Javascript 是否可以通过带有SSL的Websocket与爱奥尼亚安卓应用程序和esp32通信?如果是的话,怎么办?,javascript,ionic-framework,websocket,esp32,ionic-native,Javascript,Ionic Framework,Websocket,Esp32,Ionic Native,我在esp32上托管了带有ssl服务器的websocket,ionic android应用程序是我的客户端。它在计算机中正常工作,但在安卓系统中失败。 这是我的客户代码 const socket = new WebSocket("wss://server_ip:443/chat"); socket.onopen = function (e) { console.log("[open] Connection established");

我在esp32上托管了带有ssl服务器的websocket,ionic android应用程序是我的客户端。它在计算机中正常工作,但在安卓系统中失败。 这是我的客户代码

const socket = new WebSocket("wss://server_ip:443/chat");

  socket.onopen = function (e) {
    console.log("[open] Connection established");
    setInterval(() => {
      console.log("Sending to server");
      socket.send("HELLO");
    }, 5000);
  };

  socket.onmessage = function (event: any) {
    console.log(`[message] Data received from server: ${event.data}`);
  };

  socket.onclose = function (event: any) {
    if (event.wasClean) {
      console.log(
        `[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`
      );
    } else {
      console.log("[close] Connection died");
    }
  };

  socket.onerror = function (error: any) {
    console.log(`[error] ${error}`);
  };

错误:WebSocket连接到'wss://server_ip:443/chat'失败:WebSocket打开握手已取消

您的esp32正在使用自签名证书,您可能已迫使浏览器忽略此类“冲突”以使其正常工作。您还可以在更高的级别上执行此操作,如
cordova.plugins.certificates.trustUnsecureCerts(true)
但从安全角度看,情况更糟,因为其他ssl连接也会受到影响。如果它起作用,请在此处写下它作为此问题的答案,以便未来的求职者能够从您的经验中受益。您的问题很好,人们可以从您的经验中受益。如果您设法解决了这个问题,请分享您的解决方案,作为您自己问题的答案。