Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 每个端口都使用Express/HTTP吗?_Node.js_Linux_Express_Socket.io_Centos7 - Fatal编程技术网

Node.js 每个端口都使用Express/HTTP吗?

Node.js 每个端口都使用Express/HTTP吗?,node.js,linux,express,socket.io,centos7,Node.js,Linux,Express,Socket.io,Centos7,这很奇怪,我在CentOS 7服务器上为express应用程序尝试了至少30个端口,我一直得到: Uncaught Exception: listen EADDRINUSE :::1238 [ERROR] Stack Trace: Error: listen EADDRINUSE :::1238 at Object.exports._errnoException (util.js:1026:11) at exports._exceptionWithHostPort (util

这很奇怪,我在CentOS 7服务器上为express应用程序尝试了至少30个端口,我一直得到:

Uncaught Exception:  listen EADDRINUSE :::1238
[ERROR] Stack Trace:  Error: listen EADDRINUSE :::1238
    at Object.exports._errnoException (util.js:1026:11)
    at exports._exceptionWithHostPort (util.js:1049:20)
    at Server._listen2 (net.js:1253:14)
我尝试了各种不同的端口,我很确定没有任何东西在使用这些端口,但我一直收到这个错误

这是我的快递代码:

import http from 'http';
import express from "express";
import compression from 'compression';
import SocketIO from "socket.io";

let App = express();
let HTTPServer = http.Server(App);
let Socket = new SocketIO(HTTPServer);
App.use(compression({}));
HTTPServer.listen(1238, function() {
    console.log("Listening.."); 
});

我检查了防火墙是否关闭,没有任何东西会阻止应用程序。我还有一个应用程序在8080端口上正常运行。我就是没办法让它工作。有什么想法吗?

当您在这些端口停止程序时,可能进程没有停止。 尝试在终端中运行这些命令

lsof -i:<your port number>
lsof-i:
如果您有一个表,则表示您的进程没有被终止,请从该表复制该PID并运行此命令

kill -9 <PID>
kill-9
这将终止在该端口上运行的进程,之后,您可以将该端口用于您的程序


我已经在ubuntu中测试了这些命令,我不知道CentOS是什么,但都是Linux,所以你可以试试。

我检查了,我的进程确实是作为gulp的子进程运行的,这导致我错过了列表中的进程。我的进程是在编辑文件时自动启动的:)是的。。。因为http服务器处理socket.io。如果你不知道这个协议是如何运作的,那就看看它。