gpt4 book ai didi

javascript - 执行 1 分/60 秒后连接丢失

转载 作者:行者123 更新时间:2023-11-29 15:23:19 27 4
gpt4 key购买 nike

我有一个由 Node.js 运行的 Web 服务器它使用 Express、Socket.io 和 MySQL

我使用socket.io将数据从客户端传输到服务器,并调用查询。

实现 SQL 连接和查询后,服务器在运行 60 秒后开始停止。

index.js 文件中的 SQL 部分:

// SQL

var mysql = require('mysql');
var con = mysql.createConnection({
host: "...",
user: "...",
password: "...",
database: "..."
});

//Socket.io

var io = require('socket.io') (serv, {});
io.sockets.on('connection', function(socket) {

// Select

socket.on("recherche", function(data) {
if (err) throw err;
con.query("SELECT * FROM ..", function (err, result, fields) {
if (err) throw err;
socket.emit("...", {data: result});
});
});

// Insert into

socket.on("...", function(data) {
con.connect(function(err) {
if (err) throw err;
var sql = "INSERT INTO ... VALUES (...)";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
});
});

});

启动服务器后 60 秒内一切正常。然后,我在 Nodejs 控制台中看到以下错误消息:

C:\Users\...>node index.js
events.js:187
throw er; // Unhandled 'error' event
^
...
Error: Connection lost: The server closed the connection.
...
fatal: true,
code: 'PROTOCOL_CONNECTION_LOST'

提前感谢您阅读我的问题:D

最佳答案

          connection = mysql.createConnection(db_config); // Recreate the connection, since

connection.connect(function(err) {
if(err) {
console.log('error when connecting to db:', err);
setTimeout(handleDisconnect, 2000);
}
});

connection.on('error', function(err) {
console.log('db error', err);
if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection to the MySQL server is usually
handleDisconnect();
} else {
throw err;
}
});

关于javascript - 执行 1 分/60 秒后连接丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59214142/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com