这是我的 app.js 文件
/**
* Module dependencies.
*/
var io = require('socket.io'),
express = require('express'),
path = require('path'),
jquery = require('jquery'),
routes = require('./routes');
/**
* Create app
*/
var app = express()
, server = require('http').createServer(app)
, io = io.listen(server);
/**
* Configure app
*/
app.configure(function(){
app.set('port', 2121);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, 'public')));
});
// set both servers listening
server.listen( app.get('port') );
/**
* App gets
*/
app.get('/', routes.index );
console.log("listining on port " + app.get('port'));
io.set('log level', 1); // this gets rid of all the internal socket messages
io.sockets.on('connection', function(socket){
console.log('made connection');
});
在呈现索引时加载的 index.js 文件中,我有
$(document).ready( function () {
var socket = io.connect('http://localhost:2121');
});
我遇到的问题是这段代码将执行一次,终端显示
My-MacBook-Pro-3:board_demo home$ node app.js
info - socket.io started
listining on port 2121
made connection
但是,如果我退出该过程^z
并尝试再次运行代码,node app.js
我会得到
My-MacBook-Pro-3:one_board_demo home$ node app.js
info - socket.io started
listining on port 2121
warn - error raised: Error: listen EADDRINUSE
然后我切换端口并重复该过程。
这可能是什么原因造成的?我现在使用的大部分代码都是从我之前制作的一个项目中获取的,该项目没有这个问题。
谢谢您的帮助