React native WebSocket无法在release模式下工作

vnzz0bqm  于 2023-06-23  发布在  React
关注(0)|答案(1)|浏览(121)

所以我正在尝试做一个react本地应用程序,它可以与WebSocket c#服务器进行通信。在调试模式下一切正常,但当我创建一个发布apk并尝试运行它时,它就不工作了。有人能帮帮我吗
我试着查看WebSocket状态,它返回3,所以它只说没有连接。

export default class Socket {
  socket: WebSocket;
  constructor(indirizzo: string) {
    this.socket = new WebSocket(indirizzo);
    this.socket.onopen = () => {
      console.log('Mi sono connesso');
    };
  }

  Disconnetti() {
    this.socket.close();
  }

  Manda(nomeEvento: string, messaggio: any) {
    
    try {
      this.socket.send(
        JSON.stringify({
          nomeEvento: nomeEvento,
          username: messaggio.username,
          password: messaggio.password,
          codice: messaggio.codice,
          movimento: messaggio.movimento,
        }),
      );
    } catch (e) {
      console.log(e);
    }
  }

  Ricevi(nomeEvento: string, callback: (risposta: any) => void): any {
    this.socket.onmessage = e => {
      try {
        let risposta = JSON.parse(e.data);
        if (risposta.nomeEvento === nomeEvento ) {  //Forse dovrei fare una lista di eventi e controllare se l'evento è presente nella lista 
          callback(risposta.messaggio);
        }
      } catch (e) {
        console.log(e);
      }
    };
  }

}
hyrbngr7

hyrbngr71#

确保config.urlServer不是HTTP端点,而是HTTPS。最新的RN版本针对最新的Android SDK,该SDK自动阻止不安全的HTTP连接。请在android\app\src\main\AndroidManifest.xml的标签中添加android:usesCleartextTraffic=“true”

相关问题