我正在尝试在Web应用程序中使用socket-anti-spam
模块(https://github.com/michaeldegroot/socket-anti-spam)。但是,当我尝试使用它时,出现以下错误:
错误:听EADDRINUSE ::: 3000
下面是我的代码:
var express = require("express");
var socket = require("socket.io");
var socketListen = socket.listen(3000);
var bodyParser = require('body-parser');
var cors = require('cors');
var SocketAntiSpam = require("socket-anti-spam");
require('dotenv').config({ path: 'variable.env' });
// Initialize Node.JS application
var app = express();
var server = app.listen(process.env.PORT || 3000);
app.use(express.static("public", {
dotfiles: 'allow'
}));
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
const socketAntiSpam = new SocketAntiSpam({
banTime: 30, // Ban time in minutes
kickThreshold: 2, // User gets kicked after this many spam score
kickTimesBeforeBan: 1, // User gets banned after this many kicks
banning: true, // Uses temp IP banning after kickTimesBeforeBan
io: socketListen, // Bind the socket.io variable
});
您尝试在同一端口(3000)上侦听两次,这就是为什么您收到“地址使用中”错误的原因。
尝试类似的东西:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(80);