2014-12-13 121 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);