我一直在使用node.js项目几个星期,它一直很好用.通常我使用'npm start'来运行我的应用程序,并在浏览器上的localhost,端口3000上查看它.
今天,我在使用npm start时开始出现以下错误:
Server started on port 3000
Port 3000 is already in use
Run Code Online (Sandbox Code Playgroud)
我检查了资源监视器,我没有在端口3000上运行其他进程.为什么我会收到此错误消息?
在我的app.js中,我有以下代码来设置端口......这是不正确的?它之前工作正常,所以我不确定我做错了什么.
// Set Port
app.set('port', (process.env.PORT || 3000));
app.listen(app.get('port'), function() {
console.log('Server started on port '+app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
编辑:我已经尝试运行netstat和TCPView来检查使用该端口的进程,但没有使用该端口.我也试过重启我的笔记本电脑,但我仍然得到同样的错误.
我在webstorm中运行终端.我尝试运行node --harmony app.js并说我的koa app.listen()已经在运行.
所以我尝试通过命令ps aux |来查看并查看正在运行的节点进程 grep节点
我看到了几个结果:
myUserName 897 0.0 0.0 3083844 160 s000 T 11:15AM 0:00.32 node --harmony app.js
myUserName 1935 0.0 0.0 2441988 676 s000 S+ 1:33PM 0:00.00 grep node
Run Code Online (Sandbox Code Playgroud)
我试图通过杀死897或pkill 897杀死897但它仍在运行.我怎么能杀了!!!
我正在快速应用程序中运行Nodemon,但没有做任何特殊配置。在我的package.json中,我有这个:
"scripts": {
"start:dev": "nodemon app/app.js"
}
...
Run Code Online (Sandbox Code Playgroud)
一切正常,直到我进行更改,Nodemon重新启动。我收到EADDRINUSE
错误消息,因此我将尝试完全重新启动,并且收到相同的错误消息。
此后,我开始检查端口3001上运行的所有内容(Nodemon应该在端口3001上运行),并得到类似以下输出的内容:
$ lsof -i :3001
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 54343 myUserName 11u IPv6 0x1bdae98886f3261d 0t0 TCP *:redwood-broker (LISTEN)
Run Code Online (Sandbox Code Playgroud)
如果我终止了该进程,则最终可以重新启动Nodemon,但是下次我对Nodemon监视的文件进行更改时,也会发生同样的事情。
搜寻Internet之后,我看到了一些提及redwood-broker
,但到目前为止没有任何帮助。有没有人看到Nodemon的这种行为?
我正在使用以下内容:
快递4.16.2
Nodemon版本1.15.1
配备Sierra 10.12.6的2016 MacBook Pro
任何帮助是极大的赞赏!
我正在尝试与Node.js和socket.io进行聊天
现在这是我的场景我正在使用ubuntu 12.04用户,我在桌面上有文件夹pp
在里面我是推送服务器文件 server.js
这是客户:
$(document).ready(function() {
var urlServer = location.origin + ':8081';
var socket = io.connect(urlServer);
});
$(document).ready(function() {
var urlServer = location.origin + ':8081';
var socket = io.connect(urlServer);
$("#boton").on('click', function() {
var mensaje = $("#mensaje").val();
socket.emit("mensaje", {msg: mensaje});
});
socket.on("mensaje", function(msg) {
console.log("hemos recibido un mensaje", msg);
});
});
Run Code Online (Sandbox Code Playgroud)
在这里服务器
var server = require('http').createServer(),
sio = require('socket.io'),
port = 8081;
server.listen(port);
var io = sio.listen(server, { log:true });
var channels = {};
io.sockets.on('connection', function (socket) {
console.log("Cliente …
Run Code Online (Sandbox Code Playgroud) 当我输入"node site.js"时我得到了这个,我100%确定我没有运行这个节点两次.
Error: listen EADDRINUSE :::3000
at Object.exports._errnoException (util.js:1022:11)
at exports._exceptionWithHostPort (util.js:1045:20)
at Server._listen2 (net.js:1262:14)
at listen (net.js:1298:10)
at Server.listen (net.js:1376:9)
at Server.listen.Server.attach (/root/node_modules/socket.io/lib/index.js:228:9)
at Timeout._onTimeout (/root/nodejs/site.js:1005:29)
at ontimeout (timers.js:365:14)
at tryOnTimeout (timers.js:237:5)
at Timer.listOnTimeout (timers.js:207:5)
code: 'EADDRINUSE',
errno: 'EADDRINUSE',
syscall: 'listen',
address: '::',
port: 3000 }
Run Code Online (Sandbox Code Playgroud)
我正在使用FEDORA 23