73 votes

Erreur React-Native : La connexion à http://localhost:8081/debugger-proxy?role=client a expiré

Je cours react-native run-ios et mon application s'affiche pendant 3 secondes avant de montrer ceci. Je fonctionne sur un simulateur ios

enter image description here

ExceptionsManager.js:76 Connexion à http://localhost:8081/debugger-proxy?role=client Le temps est écoulé. Est-ce que vous exécutez un proxy de nœud ? Si vous exécutez sur le dispositif, vérifiez si vous avez la bonne adresse IP dans RCTWebSocketExecutor.m .

0 votes

Ce qui se passe quand vous visitez, localhost:8081/debugger-ui ?

3 votes

Le code React Native JS s'exécute dans cet onglet Chrome. Appuyez sur J pour ouvrir les outils de développement. Activez la fonction Pause sur les exceptions détectées pour une meilleure expérience de débogage. Statut : En attente, appuyez sur R dans le simulateur pour recharger et vous connecter.

1 votes

Ce qui précède est ce que j'ai obtenu

43voto

Kuldeep Saxena Points 446

Pour le débogage à distance, vos deux appareils doivent être connectés au même réseau wifi.

0 votes

Cela a fonctionné pour moi ! L'iPad était toujours en mode avion depuis un test précédent.

3 votes

J'avais éteint mon wifi. Je n'arrive pas à croire que j'ai dû chercher pour comprendre ça.

1 votes

Je fais partie de ceux qui ont rencontré ce problème pour cette raison.

32voto

fozzarelo Points 350

Je rencontre souvent ce problème. En général, lorsque je développe avec le débogueur à distance et que j'enregistre une erreur de type "codebreaking".

Essayez de recharger... Si ça ne résout pas le problème : crlt + cmd + z. puis arrêter le débogage à distance, puis rafraîchir. Cela résoudra le problème mais vous avez perdu votre débogueur. Alors recommencez... crlt + cmd + z. cette fois, lancez le débogage à distance, puis actualisez à nouveau. Votre projet devrait être de retour et prêt à fonctionner.

Ça marche pour moi, mais c'est super ennuyeux et ça prend du temps. J'aimerais que quelqu'un ait un meilleur moyen.

0 votes

Merci, ça a marché ! @phongyewtong - Je pense que vous devriez accepter cette réponse plutôt que la vôtre.

0 votes

Quelqu'un a-t-il trouvé une alternative à Expo XDE ? Leur matériel ne semble pas encore fonctionner correctement (même certains des composants de visualisation), et c'est devenu une énorme perte de temps.

0 votes

J'ai remarqué que cela se produit à chaque fois que j'ai mon iPhone avec Personal Hotspot activé branché, et, en même temps, je me connecte à un réseau wi-fi sur Mac. Il semble que react-native ne puisse pas choisir l'IP à utiliser pour communiquer avec le Mac. Désactiver Personal Hotspot ou se déconnecter du wi-fi aide.

30voto

phongyewtong Points 1336

J'ai réussi à le faire fonctionner sans créer de nouveau projet en supprimant l'application projet dans le simulateur sur l'écran d'accueil iOS. Cela fonctionne bien maintenant.

0 votes

J'utilise expo, et j'ai dû supprimer les applications "ios" et "Expo" pour que ça marche.

1 votes

Je pensais que cela fonctionnait au début mais il s'avère que c'est juste parce que l'installation récente avait désactivé l'option "Debug Remote JS" et qu'il n'essayait plus de se connecter au débogueur.

0 votes

@KevinCooper Avez-vous trouvé un autre moyen de résoudre le problème ? J'ai essayé de supprimer l'application du projet mais j'ai toujours le même problème.

12voto

XMLilley Points 2351

Cela m'est apparemment arrivé parce que j'avais redémarré le packager react-native alors que j'avais encore un débogueur Chrome ouvert qui était attaché à l'instance précédente du packager/émulateur.

En supprimant l'onglet Chrome du débogueur et en essayant run-ios a semblé résoudre le problème, sans aucun redémarrage ni autre manœuvre.

5voto

merry_ejik Points 106

Le problème peut provenir de votre routeur. Essayez de vous connecter au wifi via le hotspot de votre iPhone.

Sur github J'ai trouvé une solution de contournement, comment configurer le DNS pour résoudre cette erreur sur votre mac et iPhone :

  1. Sur votre machine de développement, Préférence système -> Réseau -> Wi-Fi -> adcanced -> nameOfYourNetwork. adcanced -> nameOfYourNetwork
  2. Dans l'onglet DNS, changez l'ip en 8.8.8.8.
  3. Effectuez le même changement de DNS sur votre iPhone

0 votes

C'est ce que le La documentation officielle suggère : React Native utilise le service DNS wildcard xip.io pour adresser votre appareil. Certains routeurs ont des fonctions de sécurité qui empêchent les serveurs DNS de résoudre quoi que ce soit dans la plage IP locale. Cela devrait être la réponse acceptée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X