我正在尝试收听192.168端口以从其他设备和计算机访问我的节点应用程序。我在这里做错了什么?我在Mac(OSX Lion)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "192.168.1.122");
console.log('Server running at http://192.168.1.122/');
答案 0 :(得分:1)
离开地址,这是不必要的。然后通过访问浏览器中的http://192.168.1.122:1337从另一台计算机连接到它,假设它是本地网络中服务器的IP地址。
如果你想从其他地方(本地网络以外的计算机)访问它,你需要找到你的外部世界的ip地址(whatismyip.com很方便),然后确保你的路由器有端口1337指着122机器。然后通过该IP地址(和端口1337)
访问它答案 1 :(得分:1)
以下是一些有用的错误消息:
EADDRNOTAVAIL
如果您没有与该计算机关联的IP地址。EACCES
如果您尝试打开一个您无权访问的端口(端口< 1024作为用户)。EADDRINUSE
如果您尝试打开已打开的端口。如果这些都不是您的问题,并且节点在实例化端口时没有崩溃,则您遇到防火墙或路由问题,并且应该从那里开始诊断,因为它很可能不是node.js问题。
在干净的盒子上运行此命令:
[jnovack@imac ~]$ node
> var http = require('http');
undefined
> http.createServer(function (req, res) {
... res.writeHead(200, {'Content-Type': 'text/plain'});
... res.end('Hello World\n');
... }).listen(1337);
{ domain: null,
_events:
{ request: [Function],
connection: [Function: connectionListener] },
_maxListeners: 10,
_connections: 0,
connections: [Getter/Setter],
allowHalfOpen: true,
_handle:
{ writeQueueSize: 0,
onconnection: [Function: onconnection],
owner: [Circular] },
httpAllowHalfOpen: false,
_connectionKey: '4:0.0.0.0:1337' }
>
返回的对象显示已成功完成http.listen。