首页
学习
活动
专区
圈层
工具
发布

NodeJS _~_
EN

Server Fault用户
提问于 2016-11-22 15:57:57
回答 1查看 2K关注 0票数 1

代码:

代码语言:javascript
复制
var express = require('express');
var connect = require('connect');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
var path = require('path');

server.listen(3000, "0.0.0.0");

app.all('*', function(req, res) {
    if(req.originalUrl.slice(-3) == "css" || req.originalUrl.slice(-4) == "html" || 
        req.originalUrl.slice(-2) == "js" || req.originalUrl.slice(-3) == "png" || 
        req.originalUrl.slice(-3) == "jpg" || req.originalUrl.slice(-4) == "jpeg" || req.originalUrl.slice(-3) == "gif") {
        res.sendFile(__dirname + req.originalUrl);
    } else {
        res.sendFile(__dirname + req.originalUrl + "/index.html");
    }
});

io.sockets.on('connection', function(socket) {
    socket.on('sendMsg', function(data) {
        io.sockets.emit('newMsg', data);
    });

    socket.on('login', function(data) {
        if(data == "root") {
            socket.emit('authStatus', "Good nick");
        } else {
            socket.emit('authStatus', "Wrong nick");
        }
    });
});

在本地主机上100%工作。但不适用于局域网上的任何其他设备。你能帮帮我吗?编辑:它甚至不会在局域网上的另一个设备上加载站点。

EN

回答 1

Server Fault用户

发布于 2016-11-22 16:05:40

很难确定到底出了什么问题,但这里有一些需要检查的东西:

  • 您使用正确的IP地址吗?
  • 你能用你自己电脑里的地址来平平你自己吗?
  • 你能用局域网上其他计算机的地址来平平自己吗?
  • 您有阻止网络请求的防火墙吗?你需要打开3000端口
  • 当您尝试从您自己的计算机和局域网上的其他计算机访问http://YOUR-IP:3000/时,会不会遇到相同的错误?
  • 当您尝试访问http://YOUR-IP:3000/ (应该是打开的)和http://YOUR-IP:4000/ (应该关闭)时,您会得到相同的错误吗?

为了缩小问题的范围,你必须逐一研究可能的问题清单。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/816365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档