2014-12-13 120 views
0

使用net到Windows机器Node.js的TCP服务器EACCESS

var net = require('net'); 
var host = 'localhost'; 
var port = '7171'; 

net.createServer(function(socket) { 
    console.log('CONNECTED - ' + socket.remoteAddress); 
}).listen(host, port); 

上创建Node.js的一个TCP服务器,但即时得到这个EACCES错误,即使我运行的节点控制台与控制shift点击管理员。

events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error: listen EACCES 
    at errnoException (net.js:904:11) 
    at Server._listen2 (net.js:1023:19) 
    at listen (net.js:1064:10) 
    at Server.listen (net.js:1132:5) 
    at Object.<anonymous> (E:\Xampp\htdocs\tibiajs\server.js:7:4) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 

由于在窗口,我通常不具备处理这些类型的privilegies问题,我不知道该怎么办

回答

0

你有你的PARAMS落后:

.listen(host, port); 

应该

.listen(port, host); 

另外我可能会传递端口号作为一个数字而不是一个字符串,但或者似乎工作。

0

文档:http://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback

server.listen()采用一个端口,与可选的主机。签名是监听(端口,[主机],[待办事项],[回调])。我认为这是你想要的:

var net = require('net'); 
var port = '7171'; 

net.createServer(function(socket) { 
    console.log('CONNECTED - ' + socket.remoteAddress); 
}).listen(port);