2017-05-29 126 views
0

我是新來的node.js;我正在閱讀一本書,並逐字跟進。我最近遇到了一個問題,我不知道如何解決它。這本書要求我創建一個客戶端應用程序,我的代碼完全符合本書的內容,但不運行。下面是代碼:Node.js客戶端應用程序在http請求期間崩潰

fiboclient.js:

var http = require('http'); 
var util = require('util'); 
[ 
    "/fibonacci/30", "/fibonacci/20", "/fibonacci/10", 
    "/fibonacci/9", "/fibonacci/8", "/fibonacci/7", 
    "/fibonacci/6", "/fibonacci/5", "/fibonacci/4", 
    "/fibonacci/3", "/fibonacci/2", "/fibonacci/1" 
].forEach(path => { 
     util.log('requesting ' + path); 
     var req = http.request({ 
       host: "localhost", 
       port: 3002, 
       path: path, 
       method: 'GET' 
     }, res => { 
       res.on('data', chunk => { 
         util.log('BODY: ' + chunk); 
       }); 
     }); 
     req.end(); 
}); 

的package.json:

{ 
    "name": "fibonacci", 
    "version": "0.0.0", 
    "private": true, 
    "scripts": { 
    "start": "DEBUG=fibonacci:* node ./bin/www", 
    "server": "SERVERPORT=3002 node ./fiboserver", 
    "client": "node ./fiboclient" 
    }, 
    "dependencies": { 
    "body-parser": "~1.17.1", 
    "cookie-parser": "~1.4.3", 
    "debug": "~2.6.3", 
    "ejs": "~2.5.6", 
    "express": "~4.15.2", 
    "morgan": "~1.8.1", 
    "serve-favicon": "~2.4.2" 
    } 
} 

輸出:

> [email protected] client 
/home/zschiff/Dropbox/Personal/Node/ch04/fibonacci 
> node ./fiboclient 

29 May 11:37:56 - requesting /fibonacci/30 
29 May 11:37:56 - requesting /fibonacci/20 
29 May 11:37:56 - requesting /fibonacci/10 
29 May 11:37:56 - requesting /fibonacci/9 
29 May 11:37:56 - requesting /fibonacci/8 
29 May 11:37:56 - requesting /fibonacci/7 
29 May 11:37:56 - requesting /fibonacci/6 
29 May 11:37:56 - requesting /fibonacci/5 
29 May 11:37:56 - requesting /fibonacci/4 
29 May 11:37:56 - requesting /fibonacci/3 
29 May 11:37:56 - requesting /fibonacci/2 
29 May 11:37:56 - requesting /fibonacci/1 
events.js:163 
    throw er; // Unhandled 'error' event 
^

Error: connect ECONNREFUSED 127.0.0.1:3002 
    at Object.exports._errnoException (util.js:1050:11) 
    at exports._exceptionWithHostPort (util.js:1073:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14) 

npm ERR! Linux 4.4.0-78-generic 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "client" 
npm ERR! node v4.2.6 
npm ERR! npm v3.5.2 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] client: `node ./fiboclient` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] client script 'node 
./fiboclient'. 
npm ERR! Make sure you have the latest version of node.js and npm 
installed. 
npm ERR! If you do, this is most likely a problem with the fibonacci 
package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node ./fiboclient 
npm ERR! You can get information on how to open an issue for this 
project with: 
npm ERR!  npm bugs fibonacci 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls fibonacci 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /home/zschiff/Dropbox/Personal/Node/ch04/fibonacci/npm- 
debug.log 

任何幫助表示讚賞。

+1

不知道您的服務器端代碼看起來這是非常難以解決.. – Luca

+0

'錯誤:連接ECONNREFUSED',意味着客戶端無法連接到'127.0.0.1:3002'。確保你的服務器在那裏運行。 –

+0

'fiboClient'正在做一個請求127.0.0.1:3002,當你運行'節點client'。看起來沒有服務器在運行。你是否在另一個控制檯窗口上運行'node server'?沒有看到整個代碼很難說,但看起來那裏沒有服務器。 – herchu

回答

0

的客戶端應用程序(fiboclient.js)正試圖發出請求到localhost(IP 127.0.0.1),端口3002的錯誤「連接ECONNREFUSED 127.0.0.1:3002」,這表明你沒有服務器偵聽到localhost端口3002.檢查fiboserver.js是否正在運行並正在監聽該端口。

+0

謝謝你所有的確是這個問題! –