我有一个快递服务器。
我设置socket.setKeepAlive(true, 60000);
是为了保持持久连接至少1分钟。
代码如下:
var express = require("express");
var app = express();
var server = app.listen(8080);
app.get("/", (req, res) => {
res.write("Hello Riko");
});
// server.listen(3000);
server.on("connection", function(socket) {
console.log("A new connection was made by a client.");
socket.setKeepAlive(true, 60000);
socket.on("data", data => {
console.log(data);
});
// 30 second timeout. Change this as you see fit.
});
客户端发送无效请求时,它将收到400 Bad Request
如何防止无效请求关闭连接?
答案 0 :(得分:0)
是的,我在评论中提出的建议有效。
server.on('clientError',cb)
阻止堆栈的默认行为。
我遇到了一个问题。每次触发error
时,它都会为clientError
事件注册事件监听器。因此,我更改了代码问题,并最终找到了适合我的解决方案:
var express = require("express");
var app = express();
var server = app.listen(8080);
app.get("/", (req, res) => {
res.send("Hello Riko");
});
onSocketError = err => {
console.log("Socket Error: " + err);
};
server.on("connection", function(socket) {
socket.on("data", data => {
console.log(data.toString());
});
console.log("A new connection was made by a client.");
});
server.on("clientError", (err, socket) => {
socket.removeAllListeners("error");
});
希望这会帮助有类似问题的人。