Nodejs 新人请教一下问题,关于同一局域网下手机访问电脑服务器无法访问到的问题,具体情况如下

Nodejs 新人请教一下问题,关于同一局域网下手机访问电脑服务器无法访问到的问题,具体情况如下
大家好,是这样,我用 express 搭建了一个简易的后台,用来为手机 app 提供一些简单的后台处理,然后问题来了,在我们宿舍的路由器下,刚开始的时候访问很正常,后来会出现无法连接到服务器的情况。而与之前情况不同的情况是路由器下接入的设备变多了,请问一下,我手机连不到服务器与这个有关么?或者是与什么有关呢!谢谢指教。

13 回复

看一下 ip 是不是变了,给提供服务的电脑一个固定 ip


如果是 windows 看下网络组,工作组或者家庭组才可以访问

给电脑设置一个静态 IP

电脑 ip 没有改变,我一会试试弄一个固定 ip ,谢谢你

我是 iOS 开发者,我看一下 Mac 有没有类似的东西,谢谢回答

路由器一般也有端口映射功能,可以把 80 映射到你的电脑

好的,我对网络不是很熟,查一查,谢谢啦

先解决一个问题,就是确认配置没有问题.
先用同路由下 的其它电脑试着访问下,比较容易排查问题.
因为 app 调试麻烦,所以可以做一个 http 服务,用手机浏览器试着访问.

嗯嗯,我服务器端的基本配置是可以的,之前一直是可以访问的,昨天我才发现这个问题,就是其他人的电脑在浏览器也无法访问我这边的服务器,但不是一直都无法访问,间歇性可以访问。

IP 冲突了,有接入设备和服务器用了同样 IP 。

有的路由会有限制网内共享 、访问、或者其他类似的设置,可以看看。
要是没有所有权 那就电脑开个热点吧!

家用路由一般 15 个客户端,再多就掉线了

你好,关于你在同一局域网下手机无法访问电脑Node.js服务器的问题,这里有几个可能的原因和解决方法。

首先,确保你的Node.js服务器正在监听正确的网络接口。默认情况下,http.createServer() 会监听所有的网络接口(即 0.0.0.0),但如果你显式地绑定了某个IP(比如 127.0.0.1),那么只有该机器上的进程才能访问到。

const http = require('http');

const hostname = '0.0.0.0'; // 或者使用 ''
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

其次,检查防火墙设置。确保没有防火墙规则阻止从你的手机到电脑的访问。

然后,确保你的手机和电脑在同一个子网内,并且没有路由器或交换机配置阻止这种访问。

最后,确认你使用的端口没有被其他服务占用。你可以使用 netstat -an | grep <port>(Linux/Mac)或 netstat -an | findstr <port>(Windows)来检查端口占用情况。

如果以上都确认无误,但问题仍然存在,你可以尝试在你的手机上使用浏览器访问电脑的IP地址和端口(如 http://<电脑IP>:3000),看看是否能访问到。希望这些信息对你有帮助!

回到顶部