Comment les autres, sur un réseau local, l'accès à mon application NodeJS alors qu'elle fonctionne sur ma machine?
J'ai plutôt une simple question. J'ai fait un jeu web avec NodeJS, et je peux réussir à jouer par moi-même avec plusieurs fenêtres de navigateur ouvertes côte à côte; cependant, j'aimerais savoir si il est possible pour les autres ordinateurs du réseau local pour être en mesure d'accéder et de jouer le jeu avec moi aussi.
J'ai naïvement essayé d'utiliser cette url: my-ip-address:8000
et il ne fonctionne pas.
Vous devez vous connecter pour publier un commentaire.
votre node.js server s'exécute sur un port déterminé à la fin du script d'habitude. Parfois 3000. mais peut être n'importe quoi. Le bon moyen pour les autres de l'accès est vous dire...
http://your.network.ip.address:port/
par exemple
http://192.168.0.3:3000
vérifiez que vous avez le bon port et l'adresse ip sur le réseau, pas internet de la propriété intellectuelle.
Sinon, peut-être que les ports sont bloqués par votre routeur. Essayez d'utiliser 8080 ou 80 pour obtenir autour de cette - sinon re-configurer votre routeur.
192.168.0.3
pour être en mesure de rediriger le port8000
, de cette façon, lorsque vos clients se connectent à votre ip locale, le routeur va leur permettre de lancer.ng serve --host 0.0.0.0
fait de la magie pour moi afin de permettre la connexion à localhostJ'ai eu la même question et a résolu le problème. Dans mon cas, le Pare-feu Windows (pas le routeur) était de bloquer le V8 de la machine I/O sur la machine qui héberge.
Ma conjecture est que "Evented I/O pour Javascript V8" est le processus d'e/S que node.js communique avec le monde extérieur et nous avons besoin de libérer de l'avant, il peut envoyer des paquets à l'extérieur de l'ordinateur local. Après l'activation de ce programme à communiquer via le pare-feu Windows, j'ai pu utiliser des numéros de port à écouter.
Si vous utilisez un routeur, puis:
Remplacer
server.listen(yourport, 'localhost');
avecserver.listen(yourport, 'your ipv4 address');
dans ma machine, il est
Assurez-vous que votre port est envoyée à votre adresse ipv4.
Étaient confrontés au même problème avec mon Angulaire Nœud Server(v6.10.3) qui a mis en place dans WIndows 10.
http://localhost:4201
a bien fonctionné en localhost. Maishttp://{ipaddress}:4201
pas de travail dans d'autres machines en réseau local.Pour cela, j'ai mis à jour le
ng serve
comme ceAprès avoir fait cette modification en mesure d'accéder à ma demande dans les autres machines du réseau bt à l'appel de cette url
Le port est probablement bloqué par votre pare-feu ou un routeur. Difficile à dire sans plus de détails.
Mais il existe une solution simple pour ne pas avoir à jouer avec des règles de pare-feu, exécutez nœud comme un privileded processus pour servir sur le port 80, etc...
Découvrez Localtunnel. Son une grande Ruby script/service, qui vous permet d'effectuer des port local disponible sur internet en quelques secondes. Ce n'est certainement pas utile pour une production de l'installation, mais pour essayer de sortir un jeu avec des collègues, il devrait fonctionner très bien!
Un truc que personne n'a encore mentionné est à retenir pour héberger l'application sur le réseau local accessible à l'adresse 0.0.0.0 au lieu de la valeur par défaut est localhost. Pare-feu sur Mac et Linux sont moins strictes sur cette adresse par rapport à la valeur par défaut adresse localhost (172.0.0.1).
Par exemple,
gatsby develop --host 0.0.0.0
yarn start --host 0.0.0.0
npm start --host 0.0.0.0
Vous pouvez ensuite accéder à l'adresse pour se connecter en entrant
ifconfig
ouipconfig
dans le terminal. Ensuite, essayez l'une des adresses IP sur la gauche qui n'a pas de fin en.255
ou.0
Et N'Oubliez pas De Changement dans Index.html Code Suivant :
Bonne chance!
Vous pouvez obtenir votre Adresse IP en tapant
ipconfig
dans cmd si votre nom d'utilisateur Windows que vous pouvez utiliserifconfig
.Par défaut, le nœud sera exécuté sur toutes les adresses IP exposés par l'hôte sur lequel il s'exécute. Vous n'avez pas besoin de faire quelque chose de spécial. Vous le saviez déjà que le serveur exécute sur un port particulier. Vous pouvez le prouver, à l'aide de cette adresse IP dans un navigateur sur une autre machine:
Si cela ne fonctionne pas, vous pourriez avoir votre adresse IP incorrecte.
J'ai eu ce problème. La solution était de permettre à node.js à travers le pare-feu du serveur.
Assurez-vous que le serveur est en cours d'exécution, soit par l'utilisation de 'npm démarrer", ou "nodemon" dans la fenêtre de ligne de commande.