繁体   English   中英

无法使用我的机器的IP地址运行我的Node.Js应用程序,但可以使用localhost

[英]Cannot run my Node.Js app with my machine's IP address, but can with localhost

所以我有一个节点js应用程序设置为侦听我的机器的端口5050:

所以当我去http:// localhost:5050 / myapp我的应用程序加载正常。 我正在使用快速框架,因此我的监听框架工作如下:

var server = app.listen(5050, '0.0.0.0', function () {
    console.log("App started on port 5050")
});

我也做了一个netstat(我使用的是Windows 10机器),并且本地没有环回到本地IP地址。

但是当我执行我的机器ip例如。 http://192.168.0.231:5050/myapp我一直得到:无法访问此网站

编辑:我不认为我很清楚

我关闭了防火墙,我试过没有在app.listen中指定IP地址。 我不认为这是代码的问题,因为当我尝试使用一些简单的测试应用程序并尝试使用我的IP地址运行时,这也会超时

尝试使用listen without ip参数

var server = app.listen(5050, function () {
   console.log("App started on port 5050")
});  

在运行nodejs应用程序时,我也遇到了与您提到的相同的问题。 在我的代码看起来像这样。

var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var mongoChat = require('./app/mongo_chat');

var ip = "127.0.0.1";
var port = 3000;
var users = {};
var WhisperChek = false;
var storage=[];
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
    res.sendfile('index.html');
});
//socket connection
    io.on('connection', function (socket) {
        //console.log('Someone connected!');
        mongoChat.mognolizer(io,socket, users, WhisperChek);
        function updateNicknames() {
            io.emit('nickname', Object.keys(users));
        }
//disconnect socket
        socket.on('disconnect', function (data) {
            if (!socket.Username)return;
            delete users[socket.Username];
            updateNicknames();
        });
    });
http.listen(port,ip, function () {
    console.log('listening on *:3000');
});

但是,我从代码中删除了var ip="127.0.0.1"并将listen函数更新为:

http.listen(port, function () {
        console.log('listening on *:3000');
    });

现在,我的应用程序在localhost上运行,即在localhost:3000运行,它也运行在我的ipaddress上,即在ipaddress:3000 问题在于我们将ip命名为127.0.0.1它只在localhost上运行,因为我们使用的ipaddress是私有的,它随着网络连接的变化而变化。 检查一下它是否适合您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM