当前位置: 首页 > 面试题库 >

Node.js连接仅适用于本地主机

公冶安怡
2023-03-14
问题内容

我使用Connect编写了一个小型的node.js应用程序,该应用程序提供了一个网页,然后将其定期发送。它还接受用户观察并将其记录到磁盘文件中。

只要我在本地主机上,它就可以正常工作,但是我无法在同一Intranet上让其他计算机看到它。我正在使用端口3000,但是更改为端口8080或80并没有帮助。

这是我用来建立连接的代码:

var io = require('socket.io'),
  connect = require('connect');

var app = connect().use(connect.static('public')).listen(3000);
var chat_room = io.listen(app);

如上所述,我尝试将端口号更改为8080或80,但没有发现任何区别,因此我认为这不是防火墙问题(但我可能错了)。在阅读了有关HTTP的类似问题之后,我还考虑过将0.0.0.0添加到listen(),但是listen()似乎没有采用IP掩码参数。


问题答案:

您的服务器套接字很可能绑定到回送IP地址,127.0.0.1而不是“所有IP地址”符号IP
0.0.0.0(请注意,这不是网络掩码)。要确认这一点,请运行sudo netstat -ntlp(如果在Linux上)或netstat -an -f inet -p tcp | grep LISTEN(OSX),然后检查您的进程绑定到哪个IP(查找带有“:3000”的行)。如果看到“
127.0.0.1”,那就是问题所在。通过将“ 0.0.0.0”传递给listen调用来解决此问题:

var app = connect().use(connect.static('public')).listen(3000, "0.0.0.0");


 类似资料:
  • 你可以创建一个 ODBC 连接来连接你的 ODBC 数据源。下列的指示引导你通过创建一个新 ODBC 连接的程序。 设置一个 ODBC 数据源连接 若要设置数据源的连接,你要安装相关的驱动程序。 然后,使用 ODBC 管理员来设置 DSN(数据源名)。 【注意】你可以向驱动程序提供者咨询有关如何设置数据源名。 在 Navicat Data Modeler 连接到 ODBC 数据源 连接名 一个最恰

  • 你可以创建一个 ODBC 连接来连接你的 ODBC 数据源。下列的指示引导你通过创建一个新 ODBC 连接的进程。 设置一个 ODBC 数据源连接 在控制面板,选择“管理工具”。 选择“ODBC 数据源”。 选择“用户 DSN”选项卡。 点击“添加”。 选择合适的 ODBC 驱动程序并点击“完成”。 输入所需的信息。 选择“确定”来创建你的 ODBC 驱动程序到列表。 在 Navicat Data

  • 我在一个网站上工作,遇到了一个问题,点击我的“删除”链接会出现一个错误页面。在localhost上运行良好-无法理解为什么在Heroku站点上会有所不同。 有人知道这是怎么回事吗? 我的“图片”控制器: 我的图片/新视图: 以下是我尝试删除图片时的heroku日志(从导航到新图片页面开始(同一视图中的新建和编辑功能): 2015-11-15T16:13:49.189857 00:00 heroku

  • 我已经尝试在我的应用程序上实现备份一个多月了,但直到现在还没有成功。我已经完成了Google docs通知的每一个步骤:注册在Google Service更改清单上(allowBackup、backupAgent和backup.api_key(Google Service register)等等... 清单部分: 我要提到的一点是,当我运行:bmgr backup bmgr run run命令之后

  • 问题内容: 由于wamp服务器,我试图将我的android应用程序连接到本地主机url,但它不起作用。我的目标是获取json数据并解析这些数据。对于我的测试,我使用的是设备而不是模拟器,并且使用AndroidManifest.xml中的权限: 我的网址看起来像这样: 我试过了 : 但是到目前为止,它从未起作用: 然后我尝试了在互联网上找到的json url测试:http : //headers.j

  • 下面的代码摘自rabbitmq教程(http://www.rabbitmq.com/tutorials/tutorial-one-python.html) 它可以工作,但如果我用自己的计算机或同一网络中的计算机的ip更改localhost: 我不知道为什么,我应该在连接中改变一些东西吗?