所以我正在尝试做一个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);
}
};
}
}
1条答案
按热度按时间hyrbngr71#
确保config.urlServer不是HTTP端点,而是HTTPS。最新的RN版本针对最新的Android SDK,该SDK自动阻止不安全的HTTP连接。请在android\app\src\main\AndroidManifest.xml的标签中添加android:usesCleartextTraffic=“true”