Nodejs得到呃, //未处理“错误”事件

这是我在NodeJs和i'上的冷杉程序,试图使用ExpressSocket.io 。 如下代码创build简单的项目后,我得到

 throw er; // Unhandled 'error' event 

错误,我谷歌更多的教程,但我不能find什么是我的代码问题

安装软件包:

 { "name": "signalAndroidServerApplication", "version": "0.0.0", "private": true, "dependencies": { "body-parser": "~1.12.4", "cookie-parser": "~1.3.5", "express": "~4.12.4", "socket.io": "latest" } } 

我的nodejs:

 var socket = require('socket.io'); var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = socket.listen(server); var port = process.env.PORT || 3000; server.listen(port, function () { console.log('Server listening at port %d', port); }); io.on('connection', function (socket) { socket.on('new_count_message', function (data) { console.log('new_count_message' + data); io.sockets.emit('new_count_message', { new_count_message: data.new_count_message }); }); }); 

完整的错误:

 events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:901:11) at Server._listen2 (net.js:1039:14) at listen (net.js:1061:10) at Server.listen (net.js:1135:5) at Object.<anonymous> (/var/www/signal/nodeJs/server.js:8:8) 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) 

Error: listen EADDRINUSE意味着您正在尝试运行的端口已被使用。

尝试改变它来使用另一个端口。

所以var port = process.env.PORT || 3000; var port = process.env.PORT || 3000; 将其更改为var port = process.env.PORT || 4000; var port = process.env.PORT || 4000; 并打localhost:4000