2017-05-29 111 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

谢谢你所有的确是这个问题! –

相关问题